首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅将第一个字母分配给数组元素

仅将第一个字母分配给数组元素
EN

Stack Overflow用户
提问于 2017-06-28 05:14:33
回答 1查看 28关注 0票数 1

我有一个购物车($_SESSIONcart_array)。我只想用该数组中唯一的GroupName字段填充选择/选项列表。

我的方法是1)创建一个只有GroupName字段的新数组,然后2)使用array_unique()创建第三个只有唯一值的数组。

我认识到这可能不是最有效的方式,并欢迎建议。

然而,在我达到这一点之前,我有一个更基本的问题。我似乎只分配了变量的第一个字母。

代码语言:javascript
复制
$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声明为数组,但在我看来确实是这样所以,我迷路了。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 05:17:57

代码语言:javascript
复制
$GroupNames[] = $h['GroupName'];

从字面上讲就是构建一个组名称数组,例如:

代码语言:javascript
复制
$GroupNames = array(
   "group1",
   "group2"
)

但之后你要这样做

代码语言:javascript
复制
foreach ($GroupNames as $entry) {
    // This bit is looking for a key which does not exist.
    echo $entry['GroupName'] . "<br>"; 
    //Instead try
    echo $entry . "<br>";

}

或者,也许你确实想要一个多维数组。因此当在这里构建它时:

代码语言:javascript
复制
foreach($_SESSION[cart_array] as $h) {        
    $GroupNames[] = $h['GroupName']; //current
    // You want the following
    $GroupNames[] = array("GroupName" => $h['GroupName']);
}

然而,对于当前的示例,我认为我会选择选项1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44790013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档