Задать вопрос
@narem

Как сложить 2 массива по порядку в php?

jjhNiVe9Kk4.jpg
вот есть 2 верхних массива. У первого ключи четные, у второго нет. Нужно сложить их так, что бы получалось ()()() . Т.е ключи как бы встали по порядку.
Пробовал и просто сложить 2 массива, пробовал и array_merge, результат постоянно как на скрине.
$text = "THE SOFTWARE IS PROVIDED, WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCL(UDING BUT NOT LIMITED TO THE WARRAN)TIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, (TORT O(R OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER) DEALIN)GS IN
 THE SOFTWARE.";
	preg_match_all('|[()]|', $text, $array);
	foreach($array as $value){
		foreach($value as $filter){
			if($filter == "("){
				$open[] = '(';
			} else {
				$close[] = ')';
			}
		}
	}
	$count_open = count($open);
	$count_cloase = count($close);
	for($i=0, $w = 0;$i < $count_open;$i++,$w+=2){
		$q[] = 0 + $w;
	}
	for($i=0, $e=0; $i < $count_cloase;$i++, $e+=2){
		$r[] = 1+$e;
	}
	$t = array_combine($q, $open);
	$y = array_combine($r, $close);
	$result = array_merge($t,$y);
		echo '<pre>'; 
	var_dump($t);
	echo '</pre>'; 
		echo '<pre>'; 
	var_dump($y);
	echo '</pre>'; 
	echo '<pre>'; 
	var_dump($result);
	echo '</pre>';
  • Вопрос задан
  • 723 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@bigsnake
@Q_BASIC
Программист
$a1 = [
			0 => '(',
			2 => '('
		];
		
		$a2 = [
			1 => ')',
			3 => ')'
		];
		
		$result = [];
		for($i = 0; $i < count($a1) * 2; $i++)
		{
			$result[] = $a1[$i].$a2[$i+1];
			
			$i++;
		}
		
		print_r($result);


так?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽