Php 基于密钥模式将数组拆分为多个部分
我有一个数组,希望根据数组中的键将其拆分为多个数组 所以在下面的例子中有3个键:1.post,2.social,3.test。我希望能够得到三个独立的阵列 我的问题是我想把它们分成三个独立的数组。最好的方法是什么。我找到的最接近的函数是array\u chunk,但是这会将数组拆分为定义的大小-我不知道 我不知道数组的潜在大小 :Php 基于密钥模式将数组拆分为多个部分,php,arrays,sorting,Php,Arrays,Sorting,我有一个数组,希望根据数组中的键将其拆分为多个数组 所以在下面的例子中有3个键:1.post,2.social,3.test。我希望能够得到三个独立的阵列 我的问题是我想把它们分成三个独立的数组。最好的方法是什么。我找到的最接近的函数是array\u chunk,但是这会将数组拆分为定义的大小-我不知道 我不知道数组的潜在大小 : 如果我理解正确,您可以像下面这样做,但这是一个XY问题,为什么不先正确构造数组 $normalised = []; foreach ($array as $key =
如果我理解正确,您可以像下面这样做,但这是一个XY问题,为什么不先正确构造数组
$normalised = [];
foreach ($array as $key => $value) {
list($k, $a) = explode('-', $key, 2);
$normalised[$k][$a] = $value;
}
你的问题是什么?同时显示您当前的代码。您的示例包含五个键,而不是三个。hi justBaron-是的,五个键将被拆分为三个单独的数组。i、 e“post”将形成一个包含两个键的数组:kesy post post Code和post telephonehi Lawrance感谢您的回复。你将如何构造阵列?按你想要的方式构造。对不起。我的意思是,当你说首先要正确地构造我的数组时,我在寻求澄清你的意思是什么?也许你是对的,有更好的方法来构建array@theSeeker在构建原始阵列的位置,将其更改为所需的结构。这样,您就不需要这些额外的代码来修复结构。
$normalised = [];
foreach ($array as $key => $value) {
list($k, $a) = explode('-', $key, 2);
$normalised[$k][$a] = $value;
}