php遍历数组(php遍历数组for)
PHP,如何遍历一个数组,并且把符合条件的项移到数组末尾。
这个不行的,只能创建新数组。因为如果只是单纯移动到末尾的话会造成死循环。
$isOk = array();
$isBad = array();
foreach($old as $data) {
if (true) {
$isOk[] = $data;
} else {
$isBad[] = $data;
}
}
$old = array_merge($isBad, $isOk);
PHP遍历多维数组
你的意思是用户输入nickname?比如输'user2'?然后你这边取user2对应的password吗?
$data?=?[
????'user'=[
????????"0a8a5986a6c18920fd456fdfbb048913"=[
????????"nickname"="user1",
????????"userName"="username",
????????"passWord"="password",
????????"status"=1,
????????],
????????"0ffb201c2335a784abd19c2985797711"=[
????????"nickname"="user2",
????????"userName"="username",
????????"passWord"="password",
????????"status"=1,
????????],
????]
];
//第一种情况是user数组里有多个叫user2的nickname,这样查出的password也会有多个,所以就需要循环来处理了
$nickname='user2';//这里是用户输入的值
$password=[];
foreach?($data['user']?as?$val){
????if($val['nickname']==$nickname){
????????$password[]=$val['passWord'];
????}
}
print_r($password);
//第二情况就是user数组里只会有一个叫user2的nickname,这样只会查出一个password
$nickname='user2';//这里是用户输入的值
$user=array_column($data['user'],null,'nickname');
$password=$user[$nickname]['passWord'];
echo?$password;
如何用php创建一个无限遍历数组,并打印
?php
/*
无限遍历数组,建立一个函数,实现函数的自我嵌套,
从而实现打印多维数组。
应该用for循环语句。
*/
/*
$shz为函数中函数参数,用于接收外界数组。
*/
function wxxh($shz) //函数名:wxxh(),依旧使用汉语拼音:无限循环的简写。
{
foreach($shz as $val) //$shz为数组的简写。
{
if(is_array($val))
{
wxxh($val);
}
else
{
echo $val."OK!"."br";
}
}
}
$shzone = array(array(array(array("a","b"),"c","d"),"e","f"),"g","h");
echo wxxh($shzone); //$shzone 为正式数组的名称:汉语拼音的简写加上英文one--数组1。
PHPfor循环遍历一下数组
//只能循环索引数组(下表为0,1,2,3,....)
$arr = array('a','s','d','f','g','h','j','k');
for($i=0;$icount($arr);$i++){
echo $arr[$i];
}