V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kmvan
V2EX  ›  程序员

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

  •  
  •   kmvan · Jun 30, 2014 · 3142 views
    This topic created in 4325 days ago, the information mentioned may be changed or developed.
    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 replies    2014-06-30 12:28:30 +08:00
    lizheming
        1
    lizheming  
       Jun 30, 2014
    如果是PHP的话,这种情况下完全不需要判断吧?
    kmvan
        2
    kmvan  
    OP
       Jun 30, 2014
    为啥不需要判断呢?
    issac
        3
    issac  
       Jun 30, 2014
    直接赋值,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
       Jun 30, 2014
    $cache_post_metas['post-1']['thumbnail']['thumb'] = 'http://xxx.com/xx.jpg';

    这样子的话,php会提示下标['post-1']未定义的警告哦。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2371 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:37 · PVG 13:37 · LAX 22:37 · JFK 01:37
    ♥ Do have faith in what you're doing.