FreeABC
记忆重叠

<?php 
//数组常用操作
header("Content-type:text/html;charset=utf-8");

//声明数组:
$arr = array('001'=>'春','002'=>'夏','003'=>'秋','004'=>'冬');
print_r($arr);//Array ( [001] => 春 [002] => 夏 [003] => 秋 [004] => 冬 )

//索引数组:
$arr = array(0=>'东',1=>'西',2=>'南',3=>'北');//键不必有特殊意义。
//关联数组:
$student =array('name'=>'小花','age'=>30);//字符串做键,突出单元的意义。 
//多维数组:
$student2 = array('name'=>'小明','info'=>array('love'=>array('name1'=>'小花','name2'=>'小樱')));
print_r($student2);

//关于键的规则:
//1.如不声明,则递增键值。如果声明1个或多个数字键,则从最大的数字键,递增生成。
//2.如果键重复了,后面的键值覆盖前面的值。
//3.浮点数转成整数。
$arr = array(3=>'a',3=>'b',9=>'c','d');
print_r($arr);
echo "<br />";

//操作数组的单元:
$arr = array('a','b','c');

//增加单元
$arr[] = 'd';
$arr[99] = 'e';
$arr['stu'] = array('li','wang');
print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e )

//读取单元
echo $arr['stu'][1];//wang

//改单元值
$arr['stu'] = 'A';
print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e [stu] => A )

//删除某个单元
unset($arr['stu']);
print_r($arr);//Array ( [0] => a [1] => b [2] => c [3] => d [99] => e )

?>
<?php 
//数组操作

/*游标操作
current()
next()
prev()
end()
*/
header("Content-type:text/html;charset=utf-8");
$arr = array('a','b','c','d');
//取当前游标指向的数组单元的值
echo current($arr)."<br />";//a

next($arr);//下一位
echo current($arr)."<br />";//b

end($arr);//尾
echo current($arr)."<br />";//d

reset($arr);//复位
echo current($arr)."<br />";//a

//下方的操作有漏洞,执行到false时while退出。
$arr = array(1,2,3,false,4,5,6);
while($v = current($arr)){
    echo $v."<br />";
    next($arr);
}


//数组常用函数及面试题
$arr = array('a'=>'张三','b'=>'赵四','c'=>NULL);
//判断数组{键}是否存在,用isset函数操作不合理!
if(isset($arr['c'])){          //结果:c号单元不存在
    echo 'c号单元存在';
}else{
    echo 'c号单元不存在';
}
echo "<br />";
//判断数组{键}是否存在,用array_key_exists('key',$arr)函数操作!
if(array_key_exists('c',$arr)){   //结果:c号单元存在
    echo 'c号单元存在';
}else{
    echo 'c号单元不存在';
}
echo "<br />";

//判断数组{值}是否包含在单元内。
if(in_array('赵四', $arr)){
    echo '赵四单元存在';
}else{
    echo '赵四单元不存在';
}
echo "<br />";


/*
array_push($arr,'e');//往数组尾部加入单元,并返回操作后的数组长度。
array_pop($arr); //数组的最后一个单元弹出。
array_unshift($arr,'z'); //往数组头部加入单元,并返回操作后的数组长度。
array_shift($arr); //数组的第一个单元弹出。
 */
$arr = array('a','b','c','d');
echo array_push($arr,'e')."<br />";//5
echo array_pop($arr)."<br />";//e
echo array_pop($arr)."<br />";//d
echo array_unshift($arr,'z')."<br />";//4
print_r($arr); //z a b c
echo "<br />";
echo array_shift($arr)."<br />";//z
print_r($arr); //a b c
echo "<br />";

//遍历数组
    foreach ($arr as $a){ 
        echo $a."<br />"; // a b c
    } 

    for ($i= 0;$i< count($arr); $i++){ 
        echo $arr[$i]."<br />"; // a b c
    } 
//注:因为while在数组中的操作较少,这里就不深做研究。
?>

 

未经允许不得转载:Free-Abc智能 »
分享到: 更多 (0)