V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kmvan
V2EX  ›  程序员

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

  •  
  •   kmvan · 2014-06-30 10:28:45 +08:00 · 2679 次点击
    这是一个创建于 3794 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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';
    ....

    上面那个例子,是不是略显蛋疼。有没有一种科学点的方法来判断和赋值呢?
    4 条回复    2014-06-30 12:28:30 +08:00
    lizheming
        1
    lizheming  
       2014-06-30 10:53:05 +08:00
    如果是PHP的话,这种情况下完全不需要判断吧?
    kmvan
        2
    kmvan  
    OP
       2014-06-30 10:54:27 +08:00
    为啥不需要判断呢?
    issac
        3
    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
        4
    kmvan  
    OP
       2014-06-30 12:28:30 +08:00
    $cache_post_metas['post-1']['thumbnail']['thumb'] = 'http://xxx.com/xx.jpg';

    这样子的话,php会提示下标['post-1']未定义的警告哦。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3425 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:56 · PVG 19:56 · LAX 03:56 · JFK 06:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.