我有一个购物车($_SESSIONcart_array)。我只想用该数组中唯一的GroupName字段填充选择/选项列表。
我的方法是1)创建一个只有GroupName字段的新数组,然后2)使用array_unique()创建第三个只有唯一值的数组。
我认识到这可能不是最有效的方式,并欢迎建议。
然而,在我达到这一点之前,我有一个更基本的问题。我似乎只分配了变量的第一个字母。
$GroupNames = array();
foreach($_SESSION[cart_array] as $h) {
echo $h['GroupName']."<br>";
$GroupNames[] = $h['GroupName'];
}
foreach ($GroupNames as $entry) {
echo $entry['GroupName'] . "<br>";
}
print_r($GroupNames);上面代码的输出是: Crystal Farm
爪哇花园蜡染
爪哇花园蜡染
爪哇花园蜡染
Crystal Farm - Precuts
Crystal Farm - Precuts
C
J
J
J
C
C
阵列( =>水晶农场1个=>爪哇花园蜡染2个=>爪哇花园蜡染3个=>爪哇花园蜡染4个=>水晶农场- Precuts 5个=>水晶农场- Precuts )
我的研究表明,我似乎没有将$GroupName声明为数组,但在我看来确实是这样所以,我迷路了。提前谢谢。
发布于 2017-06-28 05:17:57
$GroupNames[] = $h['GroupName'];从字面上讲就是构建一个组名称数组,例如:
$GroupNames = array(
"group1",
"group2"
)但之后你要这样做
foreach ($GroupNames as $entry) {
// This bit is looking for a key which does not exist.
echo $entry['GroupName'] . "<br>";
//Instead try
echo $entry . "<br>";
}或者,也许你确实想要一个多维数组。因此当在这里构建它时:
foreach($_SESSION[cart_array] as $h) {
$GroupNames[] = $h['GroupName']; //current
// You want the following
$GroupNames[] = array("GroupName" => $h['GroupName']);
}然而,对于当前的示例,我认为我会选择选项1。
https://stackoverflow.com/questions/44790013
复制相似问题