【问题标题】:PHP: How to put a variable in an array?PHP:如何将变量放入数组中?
【发布时间】:2011-04-30 10:11:54
【问题描述】:

只是一个快速的新手 PHP 语法问题。

我有一个变量,我们称之为$tabs,它总是包含一串用逗号分隔的数字,例如:24,35,43,21

我还有一个变量是一个数组:

$args = array('post_type' => 'page', 'post__in' => array(27,19,29), 'order' => 'ASC');

那当然是 WordPress。我需要做的是将$tabs 变量(数字)的内容放在数组内的数字所在的位置。我对PHP比较陌生,只知道如何修改一些东西,但这我无法弄清楚,不知道它的语法应该如何。

有人可以帮忙吗?谢谢。

【问题讨论】:

    标签: php arrays wordpress variables


    【解决方案1】:
    $args['post__in'] = array_merge($args['post__in'], explode(',', $tabs));
    

    让我们解释一下我做了什么,以便您可以拿起一两件事:

    1. explode(',', $tabs) 在分隔符处将字符串拆分为多个片段,并将这些片段放入一个数组中。
    2. array_merge($arr1, $arr2) 将合并两个数组。
    3. $args['post__in'] 将访问由键指定的数组元素。

    请注意,在这种情况下,array_merge 只会附加值,您最终可能会得到重复的数字。要摆脱重复,只需将合并包装在 array_unique 中。像这样:

    $args['post__in'] = array_unique(array_merge($args['post__in'], explode(',', $tabs)));
    

    当然,当您只想用全新的数字替换这些数字时,微不足道的情况是

    $args['post__in'] = explode(`,`, $tabs);
    

    【讨论】:

    • +1 如果他想追加。如果他想追加或替换,则相当模棱两可。 (并解释)
    • 太棒了,非常感谢。第一次有人真正解释了解决方案,所以我可以从中学习。 @Jason She ;)
    【解决方案2】:

    $args['post__in'] = explode(",",$tabs);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多