Php 带条件索引的数组迭代
Php array iteration with conditional indexing
我正在研究 PHP 数组迭代。我有如下数组:
1) 禁止 2) 年龄
$banned = array(
"school_name"=> "abc",
"school_rating"=> "xyz",
);
$age = array(
"Peter"=> "35", // 0
"Ben"=> "16", // 1
"Joe"=> "43" // 2
"john"=> "12", // 3
);
我正在使用 foreach 遍历此数组:
foreach($age as $index => $value) {
if ($value < '18') {
$banned['name_' . $index] = $value; // Push values below 18 to 'banned' array with index value
}
}
我想查找 18 岁以下的名字并将主题推送到 'banned'
数组。
这段代码工作正常。但是在将名称推送到 'banned'
数组时,我想将新索引附加到它们的名称中,例如 'Ben_0'
'john_1'
.
当前代码根据每次迭代附加 index
,例如 'Ben_1'
'john_3'
。
我希望我的最终数组像 :
$banned = array(
"school_name"=> "abc",
"school_rating"=> "xyz",
"Ben_0"=> "16",
"john_1"=> "12",
);
我想要这个新索引以便稍后执行一些 API 调用。
那么有什么办法可以做到这一点吗?
你的意思是这样的:
$count = 0;
foreach($age as $index => $value) {
if ($value < '18') {
$banned[$index . '_' . $count++] = $value; // Push values below 18 to 'banned' array with index value
}
}
你可以这样做:
$i = 0;
foreach($age as $index => $value)
{
if ($value < '18') {
$banned['name_' . $i] = $value; // Push values below 18 to 'banned' array with index value
$i++;
}
}
$i = 0;
foreach ($age as $name => $age)
{
$banned[$name . '_' . $i++] = $age;
}
我正在研究 PHP 数组迭代。我有如下数组: 1) 禁止 2) 年龄
$banned = array(
"school_name"=> "abc",
"school_rating"=> "xyz",
);
$age = array(
"Peter"=> "35", // 0
"Ben"=> "16", // 1
"Joe"=> "43" // 2
"john"=> "12", // 3
);
我正在使用 foreach 遍历此数组:
foreach($age as $index => $value) {
if ($value < '18') {
$banned['name_' . $index] = $value; // Push values below 18 to 'banned' array with index value
}
}
我想查找 18 岁以下的名字并将主题推送到 'banned'
数组。
这段代码工作正常。但是在将名称推送到 'banned'
数组时,我想将新索引附加到它们的名称中,例如 'Ben_0'
'john_1'
.
当前代码根据每次迭代附加 index
,例如 'Ben_1'
'john_3'
。
我希望我的最终数组像 :
$banned = array(
"school_name"=> "abc",
"school_rating"=> "xyz",
"Ben_0"=> "16",
"john_1"=> "12",
);
我想要这个新索引以便稍后执行一些 API 调用。
那么有什么办法可以做到这一点吗?
你的意思是这样的:
$count = 0;
foreach($age as $index => $value) {
if ($value < '18') {
$banned[$index . '_' . $count++] = $value; // Push values below 18 to 'banned' array with index value
}
}
你可以这样做:
$i = 0;
foreach($age as $index => $value)
{
if ($value < '18') {
$banned['name_' . $i] = $value; // Push values below 18 to 'banned' array with index value
$i++;
}
}
$i = 0;
foreach ($age as $name => $age)
{
$banned[$name . '_' . $i++] = $age;
}