多维数组有更简单的方法来判断和赋值吗?

2014-06-30 10:28:45 +08:00
 kmvan
if(!isset($cache_post_metas['post-1')) $cache_post_metas['post-1'] = array();
if(!isset($cache_post_metas['post-1']['thumbnail'])) $cache_post_metas['post-1']['thumbnail'] = array();
if(!isset($cache_post_metas['post-1']['thumbnail']['thumb'])) $cache_post_metas['post-1']['thumbnail']['thumb'] = array();
$cache_post_metas['post-1']['thumbnail']['thumb'] = 'http://xxx.com/xx.jpg';
....

上面那个例子,是不是略显蛋疼。有没有一种科学点的方法来判断和赋值呢?
2679 次点击
所在节点    程序员
4 条回复
lizheming
2014-06-30 10:53:05 +08:00
如果是PHP的话,这种情况下完全不需要判断吧?
kmvan
2014-06-30 10:54:27 +08:00
为啥不需要判断呢?
issac
2014-06-30 11:57:13 +08:00
直接赋值,PHP会根据情况创建数组的:
$cache_post_metas['post-1']['thumbnail']['thumb'] = 'http://xxx.com/xx.jpg';

如果是要输出,就需要先判断
if(isset($cache_post_metas['post-1']['thumbnail']['thumb'])) {
echo $cache_post_metas['post-1']['thumbnail']['thumb'];
}
kmvan
2014-06-30 12:28:30 +08:00
$cache_post_metas['post-1']['thumbnail']['thumb'] = 'http://xxx.com/xx.jpg';

这样子的话,php会提示下标['post-1']未定义的警告哦。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX