我正在尝试将数组值转换为字符串,但我失败了
我的数组($ 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 .........
我猜这种情况发生了,因为我有奇怪的数组,这些空数组在开始和结束时。
如果是这样,我该如何解决?
此致 中号
答案 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;