В моем 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)
)
Какие есть возможности?
Попробуйте if (isset($newArray[$key])) $newArray[$key] .= ' AND '.$item['something'];. Но никто не сможет ответить на этот вопрос без кода, который вы используете для цикла.






Попробуйте этот подход: я предполагаю, что вы не хотите переопределять существующий массив. Если вы хотите переопределить вместо использования новой переменной массива, вы также можете поместить ее в старый $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(), поскольку обе ветви кода одинаковы?
@NigelRen, я не уверен, что всегда оба массива будут содержать весь ключ. Если нет, то в новой переменной массива будет пропущен какой-то ключ.
Предел возможностей делать то, что вы хотите, - это только ваше воображение. Это оффтопный вопрос, требующий учебника