За прошедшую неделю я работаю на PHP страницу для отображения онлайн внутренний запас устройствPHP Отображаемые значения определенных ключей из одного массива на основе значений из другого массива
Проблема я столкнулся и где я застрял следующее:
у меня есть 2 массивов, следующим образом:
- первая создаются с помощью функции
explode()
на строке; - второй создается с использованием
foreach()
на$query->result_array()
полученные от MySQL опроса запроса
Когда выход оба массива, то выглядеть следующим образом:
// 1st array
Array (
[0] => NAME
[1] => TAG
[2] => SERVICE
[3] => TYPE
[4] => COMMENT
[5] => LOCATION
)
// 2nd array
Array (
[ID] => 3
[ID_CAT] => 10
[NAME] => test
[TAG] => 123456789
[SERVICE] => PAID
[TYPE] => SIM
[COMMENT] => Needs activation
[LOCATION] => A city
[STATUS] => Available
)
Массивы не являются такой же длины, :
- первый имеет длину 6
- второй имеет длина 9
Мой вопрос: Как показать значения 2-го массива на основе совпадения, полученного в 1-м массиве?
На самом деле матч что-то вроде этого: if (1st array value == 2nd array key) { output }
Я попытался foreach()
и for()
цикл, но это будет только показать мне только 1 значение ($i
всегда 0)
Вот двойные foreach()
петли я попробовал:
foreach($1st_array as $key1st => $value1st) {
foreach($2nd_array as $values2nd) {
if (strcmp($key1st , $values2nd) == 0) { print '<td>'.$value1st.'</td>'; }
}
}
... и вот это foreach()
и for()
петли Я пробовал:
foreach($1st_array as $key1st => $value1st) {
for($i = 0; $i < count($2nd_array); $i++) {
if ($key1st == $2nd_array[$i]) {
print '<td id="'.$i.'">'.$value1st.'</td>';
}
}
}
Любые идеи о том, как я могу сделать эту работу?
Это дает мне головную боль :(
Все ответы будут глубоко признателен!
Мои наилучшие пожелания, Майкл
СПУСТЯ EDIT:
@Nevermind: Выход я хочу от 2-х массивов будет выглядеть так:
- Название: ' тест '
- Метка:' 123456789 '
- служба: 'ПЛАТНЫЕ'
- Тип: 'SIM'
- Комментарий: 'Требуется активация'
- Расположение: 'A' город
@Не паникуйте: Правильно, «STATUS «Опечатка! К сожалению о том, что
что ожидается выход с примерами вашего массива1 и 2? – Neverever
'foreach ($ arr1 as $ val) if (isset ($ arr2 [$ val])) echo $ arr2 [$ val];' – DarkBee
Вы помещаете запятые в массив? Скорее, не так ли? на это трудно смотреть. – craniumonempty