вы можете использовать foreach, тогда просто используйте переменные переменные :
foreach($array as $keyName => $value) {
//in here you have the key in $keyName and the value in $value
$$keyName = $value;
}
РЕДАКТИРОВАТЬ: не уверены на 100%, что вы хотите с 'массивом' и 'результаты, но я думаю, что проблема заключается в том, что массивы являются дочерними по отношению к другим массивам, вы можете изменить код, чтобы проверить, является ли значение массивом, например, так:
// 1. flatten out the array to contain only single values (no arrays)
do {
$containedArrayValue = false;
foreach($array as $key => $value) {
if(is_array($value)) {
$array = array_merge($array,$value);
$containedArrayValue = true;
}
unset($array[$key]);
}
} while($containedArrayValue);
// 2. run the code above to get variables for each one
foreach($array as $keyName => $value)
$$keyName = $value;
это то, что вы хотите получить?в противном случае, пожалуйста, дайте желаемый результат, и я исправлю его таким образом ...
ВТОРОЕ РЕДАКТИРОВАНИЕ: Я оставлю код выше, потому что, хотя это был не тот результат, которым вы былипоиск этого может помочь кому-то еще позже.Ваша структура данных - это массив, в котором каждое значение является либо строкой, либо числом, либо другим массивом.Каждый из этих массивов одинаков, поэтому вы можете иметь много слоев глубиной (7 в этом примере).Слой, о котором вы заботитесь, был бы в $ array [results] [person], если бы вся эта переменная хранилась в $ array;Это массив массивов 'people', поэтому первый человек будет в $ array [results] [person] [0], второй будет в $ array [results] [person] [1] и т. Д. Внутри каждого человека, которого выможно получить данные, которые вы хотите, как
$firstName = $array[results][person][0][firstName];
$lastName = $array[results][person][0][lastName];
$email = $array[results][person][0][email];
, что теперь, если было более одного человека?мы можем сделать массивы этих переменных следующим образом:
foreach($array[results][person] as $personNum => $personData) {
$firstNames[] = $personData[firstName];
$lastNames[] = $personData[lastName];
$emails[] = $personData[email];
}
, и теперь у вас есть данные, которые вы хотите получить в этих трех массивах.Пустые скобки - это просто сокращение для следующего пустого элемента массива, поэтому в цикле я просто строю эти массивы член за членом.Если вы хотите получить что-то более сложное, например подсказку о пароле, вы можете сделать это, выполнив $ personData [weblink] [passwordHint] внутри цикла.Для получения дополнительной информации ознакомьтесь с синтаксисом foreach и многомерных массивов .