【问题标题】:what is the best way to write multidimensional arrays in PHP? [closed]在 PHP 中编写多维数组的最佳方法是什么? [关闭]
【发布时间】:2012-09-24 10:48:52
【问题描述】:

好的,我有多个产品需要显示备注。在不为每个产品写出以下整个代码的情况下,将注释与多个产品相呼应的最佳方法是什么?

<?php if ($data['header']['group_code'] == 'R088X') { ?>

<li><span>Printers:</span> Wipe the allocated print area before print application with methylated spirit.</li>

<?php } ?>

我试过下面的方法还是不行...

<?php 
$data = array((['header']['group_code'] == 'R088X', 'R129X'));

if (in_array(['header']['category'] == 'R088X', $data)) { ?>

                                        <li><span>Printers:</span> Wipe the allocated print area before print application with methylated spirit.</li>
<?php } ?>

任何建议将不胜感激:)

【问题讨论】:

标签: php multidimensional-array associative-array


【解决方案1】:
$data = array (
    'header' => array (
        'group_code' => array (
            'R088X',
            'R129X'
        )
     )
);

当涉及到数组时,PHP 并不是最好的编程语言!

但是,如果您运行的是 PHP 5.4,则可以这样写:

$data = [
    'header' => [
        'group_code' => [
            'R088X',
            'R129X'
        ]
     ]
];

【讨论】:

  • 嗨,Darkzaelus,感谢您的回答但是,我无法将注释与我阵列中的产品一起使用,它现在显示在所有产品上。我还需要'if' array ('group_code' => array ('R088X', 'R129X') )); { ?>
  • Printers: 在打印应用程序前用甲基化酒精擦拭分配的打印区域。
  • 我认为您需要的是:if (in_array('R088X', $data['header']['group_code'])): { ?&gt; ...,应该可以解决问题!但是,是的,您需要if。如果这个答案对你有帮助,你可以检查这个答案的投票计数下的绿色勾号吗? D
  • 谢谢,但仍然显示在所有页面上:(这就是我的 $data = array ( 'header' => array ( 'group_code' => array ( 'R088X', 'R129X' ) ) ); if (in_array('R088X', 'R129X' $data['header']['group_code'])); { ?>
  • 首先,去掉{之前的分号,其次写:if (in_array(array ('R088X', 'R129X'), $data['header']['group_code']),注意我已经把两个组码包裹在另一个array()表达式中。此外,您能否在 cmets 中以重音(1 键的左侧)编写代码,它们会突出显示它并使其更易于阅读:) 阅读材料:php.net/manual/en/function.in-array.php
  • Darkzalelus 非常感谢您的帮助。下面的代码现在不会在任何产品页面上显示注释:/ &lt;?php $data = array ( 'header' =&gt; array ( 'group_code' =&gt; array ( 'R088', 'R129X' )) ); if (in_array(array ('R088X', 'R129X'), $data['header']['group_code'])) { ?&gt;
  • 【解决方案2】:

    除了@Darkzaelus 的回答,在 PHP 5.4 中你还可以这样做:

    $data = [ 'header' => [ 'group_code' => [ 'R088X', 'R129X' ] ] ];
    

    【讨论】:

    • 我不太喜欢 Stackoverflow 的一件事是它的节奏太快了!当我编辑我的答案时,我不知道你写了这个答案!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签