У меня есть небольшая проблема, пытающаяся сравнить данные из 3-х массивов, один из которых является источником, а остальные 2 являются условиями.PHP IF ELSE condition and Foreach
сценарий следующий:
$array1 = array('code' => '123', 'code' => '124', 'code' => '125', 'code' => '126', 'code' => '127');
$array2 = array(
array('code1' => '123', 'country' => 'US', 'listed' => '0'),
array('code1' => '124', 'country' => 'US', 'listed' => '1'),
array('code1' => '125', 'country' => 'US', 'listed' => '1')
);
$array3 = array(
array('code2' => '123', 'country' => 'US', 'listed' => '1'),
array('code2' => '126', 'country' => 'US', 'listed' => '0'),
array('code2' => '127', 'country' => 'US', 'listed' => '1')
);
$final = array_merge($array1,$array2,$array3);
foreach ($final as $f) {
if ($f['code'] == $f['code1']) {
if ($f['listed'] > 0) {
$finalListed = $f['listed'];
}
} elseif ($f['code'] == $f['code2']) {
if ($f['listed'] > 0) {
$finalListed = $f['listed'];
}
}
$newFinalArray = array(
'code' = $finalCode,
'listed' = $finalListed,
'country' = $finalCountry
);
}
Так что мне нужно, чтобы проверить первый, если код из $array1
существуют в $array2
и если если код из $array2
указан, если не проверить $array3
и так далее ,
Таким образом, если код существует на $array2
и перечислен 1 обновление базы с этим значением, если не проверять $array3
, если существует и перечислен в 1 обновление со значениями, если не обновлять значение от $array2
Идеи в том, что $array2
от 1 сайта и $array3
от другого, так что, если не в 1 является вторым, если в обоих подглядывать из $array2
проблема заключается в том, что я не могу получить его сортируют, я попробовал array_combine
, но это сочетает в себе только 2 массивы и параметры должны быть точно. С помощью массива merge я получаю 3 массива в один, затем в foreach и on, если условия говорят, что переменная не определена.
насчет in_array()? http://php.net/manual/en/function.in-array.php – Matheno
Вы хотите найти каждый код in_array $ array2 и $ array3?, как я могу сделать foreach для 3-х массивов? – Dario
ehm, что-то вроде foreach ($ array1 as $ key => $ code) {if (in_array ($ code, $ array2) {echo 'В массиве!';} – Matheno