数组值到字符串

时间:2015-03-03 12:53:21

标签: php arrays

我正在尝试将数组值转换为字符串,但我失败了

我的数组($ 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 .........

我猜这种情况发生了,因为我有奇怪的数组,这些空数组在开始和结束时。

如果是这样,我该如何解决?

此致 中号

4 个答案:

答案 0 :(得分:1)

当您像这里一样定义数组时

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

如果您没有标题,lang等,请将其作为您需要的变量

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

答案 1 :(得分:0)

使用此删除你的空,然后使用此

print_r(array_filter($epg));

echo $title = $epg['title']

答案 2 :(得分:0)

检查您的阵列是否为空

if (count($epg) != 0)

答案 3 :(得分:0)

你得到通知,而不是错误。但最好将它们视为错误并从代码中删除。

这些注意事项是关于未定义的索引,因此您必须检查给定的索引是否存在于数组的当前元素中。你可以这样做:

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

Manual