@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>';
  • Вопрос задан
  • 568 просмотров
Пригласить эксперта
Ответы на вопрос 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);


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

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

Войти через центр авторизации
Похожие вопросы
DKLINE Санкт-Петербург
от 120 000 до 150 000 ₽
Laptop.ru Москва
от 130 000 до 170 000 ₽
Laptop.ru Москва
от 150 000 до 190 000 ₽