Слияние массивов и Str_replace в php

В моем php-коде каждая итерация дает результат, как показано ниже

first iteration:
Array 
([ZN1874] => (12 >  5)
[ZN101]   => (20 >  5)
)

second iteration:
Array 
(
[ZN1874] => (12 >  3)
[ZN101]  => (20 >  3)
)

Здесь я хочу объединить массивы со значением индекса и добавить условие (или строку) при слиянии. например, мой окончательный результат должен быть таким

Array 
([ZN1874] => (12 >  5) AND (12 >  3)
[ZN101]   => (20 >  5  AND 20 >  3)
)

Какие есть возможности?

Предел возможностей делать то, что вы хотите, - это только ваше воображение. Это оффтопный вопрос, требующий учебника

The Law 10.04.2018 10:02

Попробуйте if (isset($newArray[$key])) $newArray[$key] .= ' AND '.$item['something'];. Но никто не сможет ответить на этот вопрос без кода, который вы используете для цикла.

ArtisticPhoenix 10.04.2018 10:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
107
1

Ответы 1

Попробуйте этот подход: я предполагаю, что вы не хотите переопределять существующий массив. Если вы хотите переопределить вместо использования новой переменной массива, вы также можете поместить ее в старый $arr или $arr1.

$arr = array("ZN1874" => "(12 >  5)", "ZN101"   => "(20 >  5)");
$arr1  = Array ("ZN1874" => "(12 >  3)", "ZN101"   => "(20 >  3)");
$newArr = array();
foreach($arr1  as $key=>$val){
    if (array_key_exists($key,$arr)){
        $newArr[$key] = $arr[$key]." and ".$val;
    }
    else {
       $newArr[$key] = $arr[$key]." and ".$val;
    }
}

print_r($newArr); //Output Array ( [ZN1874] => (12 > 5) and (12 > 3) [ZN101] => (20 > 5) and (20 > 3) ) 

Почему вы проверяете array_key_exists(), поскольку обе ветви кода одинаковы?

Nigel Ren 10.04.2018 11:02

@NigelRen, я не уверен, что всегда оба массива будут содержать весь ключ. Если нет, то в новой переменной массива будет пропущен какой-то ключ.

Dipanwita Kundu 10.04.2018 11:14

Другие вопросы по теме