在数组内爆数组?

Impload an array inside an array?

我想加载数组中的所有字符,但是当我加载时,输出只有

0K11LS19T20B2C32M13NU21V1

我是否需要为其他字符创建另一个数组,或者我的代码有问题?

<?php

$alphNm = array
(
array("tag" => "A1B2C","tag" => "3D4E5","tag" => "F6G7H","tag" => "8I9J1","tag" => "0K11L"),
array("tag" => "12M13","tag" => "N14O1","tag" => "5P16Q","tag" => "17R18","tag" => "S19T2"),
array("tag" => "0U21V","tag" => "22W23","tag" => "X24Y2","tag" => "5Z26A","tag" => "0B2C3"),
array("tag" => "D4E5F","tag" => "6G7H8","tag" => "I9J10","tag" => "K11L1","tag" => "2M13N"),
array("tag" => "14O15","tag" => "P16Q1","tag" => "7R18S","tag" => "19T20","tag" => "U21V1")

);
echo implode(', ', array_map(function ($entry) {
        return $entry['tag'];
      }, $alphNm));
      
?>

试试这个方法

$alphNm = array
(
array(["tag" => "A1B2C"],["tag" => "3D4E5"],["tag" => "F6G7H"],["tag" => "8I9J1"],["tag" => "0K11L"]),
array(["tag" => "12M13"],["tag" => "N14O1"],["tag" => "5P16Q"],["tag" => "17R18"],["tag" => "S19T2"]),
array(["tag" => "0U21V"],["tag" => "22W23"],["tag" => "X24Y2"],["tag" => "5Z26A"],["tag" => "0B2C3"]),
array(["tag" => "D4E5F"],["tag" => "6G7H8"],["tag" => "I9J10"],["tag" => "K11L1"],["tag" => "2M13N"]),
array(["tag" => "14O15"],["tag" => "P16Q1"],["tag" => "7R18S"],["tag" => "19T20"],["tag" => "U21V1"])

);


foreach ($alphNm as $alphmkey => $alphvalue) {
    foreach ($alphvalue as $alphtagkey => $alphtagvalues) {
        echo implode("", $alphtagvalues);
    }
}

结果如下

A1B2C3D4E5F6G7H8I9J10K11L12M13N14O15P16Q17R18S19T20U21V22W23X24Y25Z26A0B2C3D4E5F6G7H8I9J10K11L12M13N14O15P16Q17R18S121=VT][20

你有一个数组中的数组。要使用 implode,您需要一个数组。看起来你用 array_map 试过了,但这不是正确的方法,因为你的内部数组中的键都是一样的。

这就是您的问题:PHP 会将 array("tag" => "A1B2C","tag" => "3D4E5","tag" => "F6G7H","tag" => "8I9J1","tag" => "0K11L") 解释为具有唯一条目 tag => "0K11L" 的数组,因为这是最后一个条目。例如用 var_dump 试试看 ;)

你需要这个"tag"吗?你需要数组中的数组吗?如果两者都不是,您可以像这样将输入简化为一个数组:

$alphNm = array("A1B2C", "3D4E5", "F6G7H", "8I9J1", "0K11L", "12M13", <...>);
echo implode(", ", $alphNm):

一个数组中的所有内容。然后 implode(", ", $alphNm) 就可以了。如果您仍然需要在一个数组中使用这 4 个数组,则可以遍历第一个外部数组以获取内部数组的内容并将其添加到数组中。如果你去掉这个不必要的"tag",那么你也可以做这个小技巧:

$alphNm = array(
    array("A1B2C","3D4E5","F6G7H","8I9J1","0K11L"),
    array("12M13","N14O1","5P16Q","17R18","S19T2")
);
echo implode(", ", array_merge(...$alphNm)));

...$alphNm 将扩展您的外部数组(就像迭代它时一样)并且 array_merge 会将其输入放在一个数组中。当使用字符串作为数组键时,请小心使用此函数,因为再次覆盖。