Php 对于每个父项,有多少个特定项的子项?
我在概念上理解如何循环这个数组来创建2个变量时遇到了问题。一个包括父项[符号],另一个包括该符号存在的子项日期[日期]Php 对于每个父项,有多少个特定项的子项?,php,arrays,variables,Php,Arrays,Variables,我在概念上理解如何循环这个数组来创建2个变量时遇到了问题。一个包括父项[符号],另一个包括该符号存在的子项日期[日期] 'AMLP' => array (size=3) 'id' => string '2432' (length=4) 'symbol' => string '.AMLP' (length=14) 'dates' => array (size=1) 0 => stri
'AMLP' =>
array (size=3)
'id' => string '2432' (length=4)
'symbol' => string '.AMLP' (length=14)
'dates' =>
array (size=1)
0 => string '2019-09-13' (length=10)
'ARCC' =>
array (size=3)
'id' => string '2417' (length=4)
'symbol' => string '.ARCC' (length=14)
'dates' =>
array (size=1)
0 => string '2019-09-13' (length=10)
1 => string '2019-09-13' (length=10)
2 => string '2019-09-10' (length=10)
3 => string '2019-09-10' (length=10)
我正在尝试创建两组数据,并将它们打印成如下所示:
[AMPL,ARCC]
[1,4]
$counts将是这样的
// $count = ["AMLP" => 1 , "ARCC" => 4];
echo "[" . implode(",", array_keys($counts)) . "]";
echo "[" . implode(",", $counts) . "]";
//prints
//[AMLP,ARCC]
//[1,4]
现场演示
编辑:
如果您确实想要这个字符串[AMLP,ARCC]
,您可以这样做
// $count = ["AMLP" => 1 , "ARCC" => 4];
echo "[" . implode(",", array_keys($counts)) . "]";
echo "[" . implode(",", $counts) . "]";
//prints
//[AMLP,ARCC]
//[1,4]
正式地说,您可以使用以下代码:
$keys = array_keys($array);
$counts = [];
foreach($array as $arr){
$counts[] = count($arr["dates"]);
}
但是最好存储代码和计数之间的关系。这就是为什么另一个答案更合适的原因。我想我以前有过这个答案,但只要把它打印成两个变量就行了。出于某种原因,我在这里留白。您是否需要完全相同的字符串
“[AMLP,ARCC]”
?好的,我会更新一下答案的。一个一个。它是附加创建单独的变量吗?因为我不能提交一个字符的编辑,我认为最后第二行的“AMPL”是一个拼写错误?