Задать вопрос
@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>';
  • Вопрос задан
  • 722 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    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);


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

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

Похожие вопросы