Массив значений в строки

0

Я пытаюсь получить значения массива в строку, но я терпит неудачу

Мой массив ($ epg) выглядит так:

Array
(
)
Array
(
    [0] => Array
        (
            [title] => VGhlIEZhbnRhc3kgRm9vdGJhbGwgQ2x1Yg==
            [lang] => en
            [start] => 1425385800
            [end] => 1425387600
            [description] => Sm9obiBGZW5kbGV5IGFuZCBQYXVsIE1lcnNvbiBwcmVzZW50IGEgZGlzY3Vzc2lvbiBvbiBrZXkgZmFudGFzeSBmb290YmFsbCBpc3N1ZXMsIGFzIHdlbGwgYXMgdGhlIHdlZWtlbmQncyBQcmVtaWVyIExlYWd1ZSBtYXRjaGVzLiBBbHNvIGZlYXR1cmluZyBndWVzdHMgZnJvbSB0aGUgd29ybGRzIG9mIHNwb3J0IGFuZCBzaG93Yml6Lg==
        )

    [1] => Array
        (
            [title] => QmFyY2xheXMgUHJlbWllciBMZWFndWUgUmV2aWV3
            [lang] => en
            [start] => 1425387600
            [end] => 1425391200
            [description] => QSBsb29rIGJhY2sgYXQgcmVjZW50IGZpeHR1cmVzIGluIHRoZSBFbmdsaXNoIFByZW1pZXIgTGVhZ3VlLCBhcyB0aGUgc2Vhc29uIGNvbnRpbnVlZCB3aXRoIG1hdGNoZXMgYWZmZWN0aW5nIGJvdGggZW5kcyBvZiB0aGUgdGFibGUu
        )

)
Array
(
)

И затем я создаю цикл foreach и пытаюсь получить такие значения:

$title = $epg['title'];
$lang = $epg['lang'];
echo $lang;
echo $title;

Но я получаю ошибки:

Примечание: Неопределенный индекс: заголовок в........ Примечание: Неопределенный индекс: lang in.........

Я предполагаю, что это происходит, потому что у меня есть странный массив, эти пустые массивы в начале и в конце.

Если да, то как я могу это исправить?

С уважением, М

  • 3
    приятель, вам действительно нужно пройти через основы
  • 0
    Может, расскажу немного о том, как я могу получить значения в строку?
Теги:
arrays

4 ответа

1

Когда вы определяете массив, как здесь

[0] => Array
    (
        [title] => VGhlIEZhbnRhc3kgRm9vdGJhbGwgQ2x1Yg==
        [lang] => en
        [start] => 1425385800
        [end] => 1425387600
        [description] => Sm9obiBGZW5k...
    )

Если у вас нет названия, lang и т.д. Delcared как переменные, которые вам нужно иметь

[0] => Array
    (
        ['title'] => VGhlIEZhbnRhc3kgRm9vdGJhbGwgQ2x1Yg==
        ['lang'] => en
        ['start'] => 1425385800
        ['end'] => 1425387600
        ['description'] => Sm9obiBGZW5k...
    )
  • 0
    Я не определяю массив, я беру его с внешнего сайта ...
  • 0
    Если вы получаете его с какого-то другого сайта, вам нужно знать, как он там работает, и с этим я ничего не могу поделать, но идея выше состоит в том, что при написании ['title'] - с кавычками, вы добавляете в этот массив ключ " title "и дайте ему значение справа =>. Однако, написано как [title] означает добавить ключ, который является значением переменной title. Что вы можете сделать, если вы объявили переменную title выше - title = "myVariable"; - таким образом, ваш ключ в массиве на этот раз "myVariable". Поэтому, когда вы используете кавычки, вы даете ему строку для ключа, а без кавычек ключ - это значение вашей переменной.
0

Вы получаете уведомления, а не ошибки. Но это хорошая практика относиться к ним как к ошибкам и удалению из вашего кода.

Эти уведомления касаются неопределенных индексов, поэтому вам нужно проверить, присутствует ли данный индекс в текущем элементе массива. Вы можете сделать это следующим образом:

$title = array_key_exists('title',$epg) ? $epg['title'] : NULL;

Руководство

0

Убедитесь, что ваш массив не пуст.

if (count($epg) != 0)
0

Используйте это удаление ur empty, а затем используйте это

print_r(array_filter($epg));

echo $title = $epg['title']
  • 0
    array_filter по какой-то причине не удаляет пустые массивы ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню