PHP中的简单数组操作
假设我有以下数组:PHP中的简单数组操作,php,arrays,Php,Arrays,假设我有以下数组: Array ( [0] => Array ( [0] => a [1] => 1 ) [1] => Array ( [0] => b [1] => 8 ) [2] => Array ( [0] => c [1] => 16 ) [3] => Array (
Array
(
[0] => Array
(
[0] => a
[1] => 1
)
[1] => Array
(
[0] => b
[1] => 8
)
[2] => Array
(
[0] => c
[1] => 16
)
[3] => Array
(
[0] => d
[1] => 21
)
....
)
内部数组中的数字是从范围(0100)随机生成的,它们不会重复
我想创建一个循环,它将从0迭代到100,并检查循环迭代是否等于上述数组的内部数。例外结果是包含100个元素的数组:
Array
(
[0] => const
[1] => a
[2] => const
[3] => const
[4] => const
[5] => const
[6] => const
[7] => const
[8] => b
[9] => const
[10] => const
.
.
[16] => c
[17] => const
.
.
[21] => d
[22] => const
[23] => const
.
.
)
我需要的是:
for ($i=0; $i < 100; $i++) {
if($i === $name[$i][1]) {
$new_array[] = $name[$i][0];
} else {
$new_array[] = 'const';
}
}
$new_array = array();
foreach ($name as $n) {
$new_array[$n[1]] = $n[0];
}
for ($i=0; $i<100; $i++) {
if (!isset($new_array[$i])) {
$new_array[$i] = 'const';
}
}
ksort($new_array);
($i=0;$i<100;$i++)的{
如果($i==$name[$i][1]){
$new_array[]=$name[$i][0];
}否则{
$new_数组[]='const';
}
}
但是我不能让它工作,所以我需要一些帮助
我不是以英语为母语的人,所以希望你能理解我想要实现的目标。谢谢您的帮助。使用
for ($i=0; $i < 100; $i++) {
if($i === $name[$i][1]) {
$new_array[$i] = $name[$i][0];
}
else{
$new_array[$i] = 'const';
}
}
($i=0;$i<100;$i++)的{
如果($i==$name[$i][1]){
$new_数组[$i]=$name[$i][0];
}
否则{
$new_数组[$i]='const';
}
}
使用
($i=0;$i<100;$i++)的{
如果($i==$name[$i][1]){
$new_数组[$i]=$name[$i][0];
}
否则{
$new_数组[$i]='const';
}
}
用于($i=0;$i
用于($i=0;$i
为什么要使用idential
运算符而不是Equal
for ($i=0; $i < 100; $i++) {
if($i == $name[$i][1]) {
$new_array[] = $name[$i][0];
} else {
$new_array[] = 'const';
}
}
($i=0;$i<100;$i++)的{
如果($i==$name[$i][1]){
$new_array[]=$name[$i][0];
}否则{
$new_数组[]='const';
}
}
为什么要使用idential
运算符而不是Equal
for ($i=0; $i < 100; $i++) {
if($i == $name[$i][1]) {
$new_array[] = $name[$i][0];
} else {
$new_array[] = 'const';
}
}
($i=0;$i<100;$i++)的{
如果($i==$name[$i][1]){
$new_array[]=$name[$i][0];
}否则{
$new_数组[]='const';
}
}
您需要一个嵌套循环,如:
for ($i=0; $i < 100; $i++):
$found = false;
foreach($name as $array):
if($array[1] === $i):
$found = true;
$new_array[] = $array[0];
endif;
endforeach;
if(!$found):
$new_array[] = 'const';
endif;
endfor;
($i=0;$i<100;$i++)的
$found=false;
foreach($name作为$array):
如果($array[1]==$i):
$found=true;
$new_array[]=$array[0];
endif;
endforeach;
如果找到(!$):
$new_数组[]='const';
endif;
endfor;
您需要一个嵌套循环,如:
for ($i=0; $i < 100; $i++):
$found = false;
foreach($name as $array):
if($array[1] === $i):
$found = true;
$new_array[] = $array[0];
endif;
endforeach;
if(!$found):
$new_array[] = 'const';
endif;
endfor;
($i=0;$i<100;$i++)的
$found=false;
foreach($name作为$array):
如果($array[1]==$i):
$found=true;
$new_array[]=$array[0];
endif;
endforeach;
如果找到(!$):
$new_数组[]='const';
endif;
endfor;
它不起作用的原因是,每次增加$i
时,您都试图在$name[$i]
中进行匹配,而不是检查$name
中的所有数组,我能想到的最简单的解决方案(并执行最少的迭代次数)是执行以下操作:
for ($i=0; $i < 100; $i++) {
if($i === $name[$i][1]) {
$new_array[] = $name[$i][0];
} else {
$new_array[] = 'const';
}
}
$new_array = array();
foreach ($name as $n) {
$new_array[$n[1]] = $n[0];
}
for ($i=0; $i<100; $i++) {
if (!isset($new_array[$i])) {
$new_array[$i] = 'const';
}
}
ksort($new_array);
$new_array=array();
foreach($n名称){
$new_数组[$n[1]]=$n[0];
}
对于($i=0;$ivalue
对(例如,[1]=>'a',[8]=>'b'
),则在for
循环中,只需检查键($i)
是否已设置,如果未设置,则使用值设置它。最后,按键对$new\u数组进行排序
本例中的迭代次数是count($name)+100
,而例如嵌套循环是100*count($name)
,它不起作用的原因是每次$i
增加时,您都试图在$name[$i]中进行匹配
,并且不检查$name
中的所有数组,我能想到的最简单的解决方案(并执行最少的迭代次数)是执行以下操作:
for ($i=0; $i < 100; $i++) {
if($i === $name[$i][1]) {
$new_array[] = $name[$i][0];
} else {
$new_array[] = 'const';
}
}
$new_array = array();
foreach ($name as $n) {
$new_array[$n[1]] = $n[0];
}
for ($i=0; $i<100; $i++) {
if (!isset($new_array[$i])) {
$new_array[$i] = 'const';
}
}
ksort($new_array);
$new_array=array();
foreach($n名称){
$new_数组[$n[1]]=$n[0];
}
对于($i=0;$ivalue
对(例如,[1]=>'a',[8]=>'b'
),则在for
循环中,只需检查键($i)
是否已设置,如果未设置,则使用值设置它。最后,按键对$new\u数组进行排序
本例中的迭代次数是count($name)+100
,而例如嵌套循环是100*count($name)
我可以问一下您的代码的输出是什么吗?您尝试了什么?,,…列表继续,根据所需的输出,从许多数组函数中选择一个。我可以问您的代码的输出是什么?您尝试了什么?,,,,…列表继续,根据所需的输出,从许多数组函数中选择一个$new\u array[]如果键是连续的,则等于$new_数组[$i]。$new_数组[]如果键是连续的,则等于$new_数组[$i]