[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вытащить данные элементов массива, вложенного..
grow23
Бьюсь уже весь день. Всем привет. Помогите понять как можно вытащить данные из многомерного масссива.
Пытаюсь вот так:
$data[0][0-эта  цифра всегда меняется и неизвестно сколько всего таких элементов]['data2']);


Сам массив $data:

$data = array(


'0' => array (

0 => array ('data2' => array (0 => 'значение 10',),),
1 => array ('data2' => array (0 => 'значение 12',),),
),



'1' => array (

0 => array ('data2' => array (0 => 'значение 13',),),
),


'3' => array (

0 => array ('data2' => array (0 => 'значение 14',),),
),

и т.д.


Суть вопрос заключается в следующем: как получить только: значение 19, значение 12 - хотя бы эти два из первого $data[0] вложенного массива?
kaww
так?:
function getValuesRecursive($arr, &$values = array())
{
if (!is_array($arr)) {

$values[] = $arr;
return;
}
foreach ($arr as $v) {

getValuesRecursive($v, $values);
}
}

$values = array();
getValuesRecursive($arr, $values);
var_dump($values);
grow23
Цитата (kaww @ 6.02.2013 - 13:27)
function getValuesRecursive($arr, &$values = array())
        {
            if (!is_array($arr)) {

                $values[] = $arr;
                return;
            }
            foreach ($arr as $v) {

                getValuesRecursive($v, $values);
            }
        }
        $values = array();
        getValuesRecursive($arr, $values);
        var_dump($values);


function getValuesRecursive($data[0], &$values = array())
{
if (!is_array($data[0])) {

$values[] = $arr;
return;
}
foreach ($arr as $v) {

getValuesRecursive($v, $values);
}
}

$values = array();
getValuesRecursive($arr, $values);
var_dump($values);

Почему то ругается..
Parse error: syntax error, unexpected '[', expecting ')' 

в первой же строке
kaww
Цитата
Почему то ругается..
Parse error: syntax error, unexpected '[', expecting ')'

в первой же строке

А зачем вы правите код функции? передайте в нее свой массив и посмотрите результат
grow23
Цитата (kaww @ 6.02.2013 - 13:35)
function getValuesRecursive($arr, &$values = array())

вот так:

function getValuesRecursive($data, &$data2)


?
kaww
Вот:
function getValuesRecursive($arr, &$values = array())
{
if (!is_array($arr)) {

$values[] = $arr;
return;
}
foreach ($arr as $v) {

getValuesRecursive($v, $values);
}
}

//$data - массив, из которого нужно получить значения!
$values = array();
getValuesRecursive($data, $values);
var_dump($values);
grow23
странно, вообще пустая страница... ничего не вывелось, а разве не надо где-то здесь указать, что необходимы данные из массива data2?
kaww
grow23
, про то как пользоваться функциями в курсе? Что значит ничего не выводит?
Не знаю как еще объяснить. Вот:
function getValuesRecursive($arr, &$values = array())
{
if (!is_array($arr)) {

$values[] = $arr;
return;
}
foreach ($arr as $v) {

getValuesRecursive($v, $values);
}
}


//$data - массив, из которого нужно получить значения!
$data = array(


'0' => array(

0 => array('data2' => array(0 => 'значение 10',),),
1 => array('data2' => array(0 => 'значение 12',),),
),



'1' => array(

0 => array('data2' => array(0 => 'значение 13',),),
),


'3' => array(

0 => array('data2' => array(0 => 'значение 14',),),
));

$values = array();
getValuesRecursive($data, $values);
var_dump($values);

Запустите этот код ничего не меняя. посмотрите как работает. $data присвойте массив из которого нужно вытащить значения
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.