Я пытаюсь создать многомерный массив из уже существующего массива. Причина, по которой я это делаю, заключается в том, что я могу отделить супер-массив от более категоризированной версии, чтобы позже я мог запускать foreach только для этих категорий в другом скрипте.Php-массив в цикле foreach
Это фрагмент кода // Пожалуйста, прочтите комментарии :)
$and = array();
if($this-> input-> post('and')) // This is the super array and[] from a previous input field
{
if(preg_grep("/reason_/", $this-> input-> post('and'))) // Search for the reason_
{
foreach($this-> input-> post('and') as $value) // if reason_ is present
{
$and['reason_and'] .= end(explode('_', $value)) . ' , '; // Remove everything before and including _ so then i would get only values like 1, 2, 3, 4, and then concatenate them to the index
}
}
if(preg_grep("/status_/", $this-> input-> post('and'))) // Search for status
{
foreach($this-> input-> post('and') as $value) // If it is in the super array
{
$and['status_and'] .= end(explode('_', $value)) . ' , '; // Remove everything before and including _ so then I would get values again like 1,2,3,4,5 and then concatenate them to the index
}
}
}
Такой подход не дает мне ожидаемый результат, однако, я получаю большую строку так:
array(2) { ["reason_and"]=> string(24) "2 , 3 , 4 , 3 , 4 , 5 , "
["status_and"]=> string(24) "2 , 3 , 4 , 3 , 4 , 5 , "
Так что, насколько мне известно (что ограничено), когда я пытаюсь сделать foreach над массивом
[reason_and]
Я получаю только один цикл, так как массив ["reason_and] имеет только одно значение (24 символьная строка?). Возможно ли иметь причину и иметь значение для каждого из чисел?
Возможно ли это? Я совершенно смущен.
Я ссылаюсь на это question для справки, но у меня все еще нет результата, с которым я могу работать. Заранее спасибо.
Сначала вы должны взорваться в другой массив, затем вы можете сделать еще один foreach. – Lefsler
Что это значит? - Извините – user2406611