浅谈PHP使用foreach/in_array
每一个提供了一个简单的方法来遍历数组,可以方便地读取数据或对象的内容。但是官方的文件说,因为每一个依赖于内部数组指针,在循环中修改其值会导致意外的行为。所以,基本上,
1,不想改变循环内部的值,否则结果会超过你想要的;
2、使用一个安全的方式,虽然很少使用,但随着时间的推移,在结束时,应立即取消功能破坏变量,否则,在下面的代码中,如果再使用这个变量,然后周期最后的值将被修改,以获得意想不到的价值,例如:在回路输出列表,输出的最后一行,会出现许多无序的值或空值。使用设置来解决这个问题。
让我们看一个例子。
< PHP
------------------------------------------------------------------------- / * * /
每例1:价值只有* / / *
回声foreach示例1:价值;
$ =数组(1, 2, 3,17);
foreach($一$ V){
的当前值。五美元;
}
>
操作结果
每例1:价值
a现值:1
a现值:2
a现值:3
a现值:17
in_array,其意义是预先检查是否从数组中的字符串,并在大多数情况下,它是这样一个工作,但是当后面的数组是一个整数,如阵列(0,1,2,3),在这个问题上,前者将在intval PHP字符串,将值0,所以如果它发生,你有这个值的数组,然后建立方程,并没有超出预期
因此,在确定下列数据是整数,尤其是可能有0(这可以取代所有的字符串),你不能使用此功能,您可以使用key_exists取代,但是在你需要使用array_flip反向操作的数据。
让我们再看一个例子。
函数搜索($关键字,堆栈){判断应该更新或插入这里
foreach(美元美元美元叠键= val){
如果(in_array($关键词,为Val)){
返回true;
}
}
返回false;
}
当字符串用作数组获取值时会发生什么情况PHP是一种强大的容错能力,它会尽力帮助你纠正错误,所以明智的做法是把你带到整数下标引用中,当然会是0,然后0和字符串下标值将是第一个字符串值超出你的前一段时间。解决的办法是确保变量在引用下标的数组,is_array。
尽管我们的许多前辈遇到过这样的问题,他们仍然在谈论它,但我们仍然必须犯错误,这可能是社会!每个人都很忙,你有时间去破解你的烂代码吗!哈哈