【问题标题】:PHP multiple values in one key of associative Array关联数组的一个键中的PHP多个值
【发布时间】:2014-04-20 03:02:56
【问题描述】:

我遇到了一个问题:我有一个带有 ID 的数组,并且想将这些 ID 分配给关联数组的键:

$newlinkcats = array( 'link_id' => $linkcatarray[0], $linkcatarray[1], $linkcatarray[2]);

这很好用,但我不知道 $linkcatarray 中有多少条目。所以我想循环或类似的。但我不知道怎么做。

  • 没有推送,因为它不是数组
  • 没有内爆,因为它不是字符串
  • 没有=,因为它覆盖了之前的值

有人可以帮忙吗?

谢谢 吉姆

【问题讨论】:

  • 您可以添加整个数组。 $newlinkcats = array('link_id' => $linkcatarray);
  • 您的问题目前要求的似乎是不可能的。我认为您需要更好地解释它,提供对源数据的准确描述,并更好地解释您想要的最终结果。

标签: php arrays associative-array key-value


【解决方案1】:

为什么不直接爆破呢?

$newlinkcats = array(
    'link_id' => implode(
        ',',
        $linkcatarray
    )
);

或者只是这样做:

// Suggested by Tularis
$newlinkcats = array(
    'link_id' => $linkcatarray
);

【讨论】:

  • 或者只是添加整个数组:$newlinkcats = array('link_id'=>$linkcatarray);
【解决方案2】:

如果您的 $linkcatarray 数组仅包含您希望分配给 link_id 键的值,那么您只需将键指向该数组即可:

$newlinkcats = array('link_id' => $linkcatarray);

如果该数组包含更多您不想包含的值,请查看array_slice() 以仅获取您需要的索引:

// Grabs the first 3 values from $linkcatarray
$newlinkcats = array('link_id' => array_slice($linkcatarray, 0, 3));

如果您想要的索引不是连续的,那么挑选它们并使用新数组可能会更容易:

$newlinkcats = array('link_id' => array(
    $linkcatarray[7],
    $linkcatarray[13],
    $linkcatarray[22],
    // ...
));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 2012-12-20
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    相关资源
    最近更新 更多