PHP索引数组与关联数组创建疑问:如何在foreach中直接生成索引数组?
问题解答
概念纠正
你对索引数组和关联数组的理解搞反了:
- 第一种写法返回的是索引数组:键是从0开始的连续数字,这是PHP中默认的数组类型,当你用
$array[] = 值的方式添加元素时,就会自动生成数字索引。 - 第二种写法返回的是关联数组:键是自定义的字符串(球队名称),值和键相同,属于键值对形式的数组。
直接在foreach中创建目标关联数组
不需要先创建索引数组再通过for循环转换,直接在foreach循环里给数组赋值即可:
function getTeams($teams){ $teamNames = []; foreach ($teams as $team) { $displayName = $team['team']['displayName']; $teamNames[$displayName] = $displayName; } return $teamNames; }
这样循环一次就能直接生成键和值都是球队名称的关联数组,省去了额外的循环步骤。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

