【问题标题】:How to get inner array value using PHP?如何使用 PHP 获取内部数组值?
【发布时间】:2018-08-20 11:00:52
【问题描述】:

我有这个数组

Array
(
    [thumbnail] => Array
        (
            [width] => 150
            [height] => 150
            [crop] => 1
        )

    [medium] => Array
        (
            [width] => 300
            [height] => 300
            [crop] => 
        )

    [medium_large] => Array
        (
            [width] => 768
            [height] => 0
            [crop] => 
        )

    [large] => Array
        (
            [width] => 1024
            [height] => 1024
            [crop] => 
        )

    [twentyseventeen-featured-image] => Array
        (
            [width] => 2000
            [height] => 1200
            [crop] => 1
        )

    [twentyseventeen-thumbnail-avatar] => Array
        (
            [width] => 100
            [height] => 100
            [crop] => 1
        )

)

如果我使用 print_r(array_keys($arraydata, true)) 我得到缩略图名称的值,但我想得到所有的宽度和高度以及相应的宽度和高度值。我可以使用 foreach 尝试使用键,但它不起作用

【问题讨论】:

  • $array['thumbnail']['width'] ?只是foreach $array as $key => $datavar_dump $data['width']?
  • 显示您的代码

标签: php arrays multidimensional-array


【解决方案1】:
    $height = array_combine(array_keys($ar), array_column($ar,'height'));
    $width = array_combine(array_keys($ar), array_column($ar,'width'));

【讨论】:

    【解决方案2】:

    你可以使用 1 foreach$key 作为缩略图的值,你可以使用键 widthheight 作为值:

    foreach($arraydata as $key => $value) {
        echo "key: $key: width: ${value['width']} height: ${value['height']}<br>";
    }
    

    Demo

    【讨论】:

    • 你为什么用{前面的$我从来没有用过它
    • 这个page 对字符串中的花括号有很好的解释。
    • 也可以这样写echo "key: " . $key . " width: " . $value['width'] . " height: " . $value['height'] . "&lt;br&gt;";
    【解决方案3】:
    $array['thumbnail']['width']
    

    将返回 150

    $array['thumbnail']['height']
    

    将返回 150

    【讨论】:

      【解决方案4】:

      您当然可以使用 foreach 循环,实际上 2 因为您在数组中有一个数组。

      foreach ($array as $size => $subarr) {
          echo $size. '<br>';
      
          foreach ( $subarr as $name => $val ) {
              // dont want the crop information
              if ( $name == 'crop' ) continue;
      
              echo $name . ' = '. $val . '<br>';
          }
      }        
      

      输出应该像

      thumbnail
      width = 150
      height = 150
      
      . . .
      

      这可能不是您真正想要的输出格式,但您可以围绕这个基本流程添加它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-05
        • 2013-03-11
        • 2014-10-08
        • 1970-01-01
        • 2015-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多