Вывести значение из массива php

438
18 июня 2017, 18:06

Здравствуйте, сильно не пинайте, знания PHP стартовые:) Не получается вывести значение из массива (необходимо вывести дату [formatted] и время [time] и [timeto].

print_r( $jckwds->get_reserved_slot() );

выводит следующее:

Array ( [id] => 20170624_0 [date] => Array ( [formatted] => 24/06/2017 [id] => 20170624 ) [time] => Array ( [timefrom] => Array ( [time] => 02:30 [stripped] => 0230 ) [timeto] => Array ( [time] => 10:45 [stripped] => 1045 ) [cutoff] => [lockout] => 4 [shipping_methods] => Array ( [0] => any ) [fee] => Array ( [value] => [formatted] => €0,00 ) [days] => Array ( [0] => 0 [1] => 1 [2] => 6 ) [id] => 0 [time_id] => 02301045 [formatted] => 02:30 AM - 10:45 AM     [formatted_with_fee] => 02:30 AM - 10:45 AM [value] => 0|0.00 ) ) 

Код, которым пытаюсь вывести хотя бы дату:

   global $jckwds;
   $jckw =  $jckwds->get_reserved_slot();
   foreach($jckw as $key) {
   echo $key('date');
   }
Answer 1

Для того чтобы легко понять структуру многомерного массива, в первую очередь посмотрите на строение.

Array ( [id] => 20170624_0
        [date] => Array ( [formatted] => 24/06/2017 [id] => 20170624 ) 
        [time] => Array ( [timefrom] => Array ( [time] => 02:30 [stripped] => 0230 ) 
        [timeto] => Array ( [time] => 10:45 [stripped] => 1045 )
        [cutoff] => [lockout] => 4 
        [shipping_methods] => Array ( [0] => any ) 
        [fee] => Array ( [value] => [formatted] => €0,00 ) 
        [days] => Array ( [0] => 0 [1] => 1 [2] => 6 ) 
        [id] => 0
        [time_id] => 02301045
        [formatted] => 02:30 AM - 10:45 AM
        [formatted_with_fee] => 02:30 AM - 10:45 AM
        [value] => 0|0.00 ) ) 

Дальше через foreach можете получить пару ключ=>значение

foreach($jckw as $key=>$val) {
  echo $val;
  /* или */
  echo $jckw[$key];
   } 

В переменной $val уже находятся значения, их можно получать и без ключа, если вам нужно получить одно значение по ключу, например

echo $jckw['date']['formatted']; или echo $jckw['time']['timefrom']['time'];

Answer 2

К элементу массива обращаются через квадратные скобки. Круглые — это вызов функции.

К тому же date — это массив и echo в данном случае выведет Array вместо даты.

READ ALSO
блокировка записи в mysql

блокировка записи в mysql

Доброго времени суток! Подскажите, как правильно реализовать блокировку записи в MySQL

269
PHP обход chmod

PHP обход chmod

Здравствуйте! Скажите, как можно сменить права на файл, если функция chmod отключена? Возможно есть вариант через создание своей функции?

254