/************************************/
* 数组
/************************************/
索引数组: //说来说去,就是数组么.
关联数组: //说的挺热闹,不就是传说中的HashTable么?晕
要用array()创建一个关联数组,应使用=>符号来分隔索引和值 //记住,这个符号以前没用过,好新鲜!!
eg:
$price = array('bread' => 10,
'milk' => 20,
'fruit' => 30 );
$number = array(1,2,3,4,5);
$number[] = 6; //末尾添加值,注意!!(关联数组不能这么做)
指定值的范围:
$number = range(2,6);
$letter = range("a","z"); //有点像正则里的[a-z],不是么?
得到数组大小:
count(),sizeof()
填充数组:
$scores = array(5,10);
$padded = array_pad($scores,5,0);
析取多个值:
取子集:
array_slice();
将数组拆分成块:
$nums = range(1,7);
$rows = array_chunk($nums,3); //这是个有趣的东东
键和值:
array_keys() //返回键组成的数组;
array_values() //
检查元素是否存在:
array_key_exists();
删除和插入元素:
appry_splice();
从数组创建变量:
extract();
eg: $list = array('box' => 1 ,'div' => 2, 'a' => 3);
extract($list,EXTR_PREFIX_ALL,"BOOK");
echo $BOOK_box;
从变量创建数组:
compact();
遍历数组:
$nums = array(1,2,3,4,5);
foreach ($nums as $k){
echo $k;
}
$list = array('box' => 1 ,'div' => 2, 'a' => 3);
foreach ($list as $k => $v){ //$k就是KEY,$v就是VALUE,看这麻烦劲儿
echo "$k , $v <br />";
}
迭代器:
current(),reset(),next(),prev(),end(),each(),key()
调用函数:
array_walk(array,function_name); //这些有趣的东东,在其它语言里好像只能自己写
查找:
in_array(to_find,array);array_search();
排序:
sort(),rsort(),usort(); //值排序
ssort(),arsort(),uasort(); //值排序
ksort(),krsort(),uksort(); //键排序
nasort(),natcasesort() //自然顺序排序
array_multisort() //一次排序多个数组
翻转数组:
array_reverse(),
随机顺序:
shuffle();
计算数组合:
array_sum();
合并:
array_merge();
比较差别:
array_diff();
堆栈:
array_pop(),array_push(),array_shift(),array_unshift();