1 数组函数中sort和asort的区别:sort会把键名变为0,1,2之类,不管你之前的数组是什么;但是asort在排序过程中会以键值为对象进行排序,但是键名不发生改变,并跟随者键值移动位置。【arsort是从高到低,asort是从底到高, ksort, krsort是对键名排序】。
2 count()和sizeof()用来统计数组的元素个数。
3 in_array() , array_key_exists()
4 快速创建数组 range(0,3) ,这个跟matlab有点类似,php真是多彩啊
5 array_reverse 翻转 array_sum 求数组之和 array_merge 合并数组 array_flip 对调键名和值
6 list($key, $value)=each($balls) reset($..)
7 类似asp中的left,right函数 substr()将两者合二为一
************
string substr(string string, int start, int [length])
参数string为要操作的字符串
参数start为你要截取的字符串的开始位置,若start为负数时,则表示从倒数第start开始截取length个字符
可选参数length为你要截取的字符串长度,若在使用时不指定则默认取到字符串结尾。若length为负数时,则表示从start开始向右截取到末尾倒数第length个字符的位置
起初用这个函数时可能感觉到别扭,不过你要是把PHP substr函数的语法搞懂了,那他的功能比asp中的left和right,有过之无不及,非常好用。下面我们举例来看他的用法:
1、从第4个字符开始截取到字符串末尾,类似asp中的left:
< ?php $str = "www.designline.cn"; echo substr($str,4); ?>
输出: designline.cn
2、PHP substr函数从右边截取3个字符,类似asp中的right:
< ?php $str = "www.designline.cn"; echo substr($str,-3); ?>
输出:.cn
3、PHP substr函数从第4个字符开始截取6个字符:
< ?php $str = "www.designline.cn"; echo substr($str,4,6); ?>
输出:design
4、有时我们知道一个字符串的开始和结尾,中间是不定长的字符,这时除了用PHP substr函数的正则外我们还可以用substr实现(当然要得到中间的字符方法有N种,在此只是举例substr的应用):
< ?php $str = "< |>www.designline.cn< |>"; echo substr($str,3,-3); ?>
输出:www.designline.cn
************
把用过的例子附上:
******************************************************************************************************
<?php
$seasons=array("c","x","q","d");
echo "hello array /n";
print_r($seasons);
echo "<br>";
$city=array(
"河北"=>array("北京a1","保定a2"),
"河南b"=>array("b郑州1","b洛阳2")
);
print_r($city);
//索引数组
$index=array(
1=>"one",
2=>"two",
3=>"three"
);
echo "<br>";
print_r($index);
echo "<br>";
echo $index[1];
//关联数组
$language['qiao']="qiao";
$language['zhang']="zhang";
echo "<br>";
echo "qiao is named ".$language['qiao']."<br>";
echo "zhang is named".$language['zhang'];
//basic run
foreach($language as $key=>$value){
echo "<br>$key--$value<br>";
}
//foreach twice
foreach($city as $key=>$value)
{
foreach($value as $value2)
{
echo "<br>$key---$value2<br>";
}
}
for($i=1;$i<3;$i++)
{
$value=$index[$i];
echo "<br>--$i--$value--<br>";
}
//数组添加操作
$ball=array("football","soccer");
$ball[]="basketball";
echo "<br>";
print_r($ball);
//删除
unset($ball[2]);
function myprint($a)
{
echo "<br>";
print_r($a);
}
myprint($ball);
//update
$ball[2]="basketba";
myprint($ball);
$ball[2]="basketball";
myprint($ball);
//sort
$color=array("yellow","red","green","grey");
sort($color);
myprint($color);
$number=array(2,34,4,342,32);
myprint($number);
sort($number,SORT_NUMERIC);
myprint($number);
foreach($number as $value)
{
echo $value." ";
}
//在指定键名的情况下,sort会导致紊乱
$cl=array("yel"=>"yellow","re"=>"red","ge"=>"green","bl"=>"blue");
$cl2=$cl;
sort($cl);
foreach($cl as $key=>$value)
{
echo "<br>$key--$value--<br>";
echo "<br>**************<br>";
}
asort($cl2);
function printA($a)
{
foreach($a as $key=>$value)
{
echo "<br>*****************<br>";
echo "$key--->$value<br>";
// echo "<br>****************<br>";
}
}
myprint($cl2);
printA($cl2);
//try arsort
arsort($cl2);
echo "<br> &&&&&&&&&&&& arsort <br>";
printA($cl2);
// ksort , krsort
$keys=array("b"=>"A","a"=>"B","c"=>"C");
ksort($keys);
printA($keys);
krsort($keys);
printA($keys);
// random sort
shuffle($keys);
printA($keys);
$have=array("qiao","yong");
if(in_array("qiao",$have,true))
{
echo "<br>is in<br>";
}
$have['wang']="meinv";
if(array_key_exists("wang",$have))
{
echo "<br> key is in <br>";
}
$num=count($have);
echo $num;
$quick=range(23,89,10);
myprint($quick);
$quickA=range('A','D');
myPrint($quickA);
// reverse
myPrint(array_reverse($quick));
echo array_sum($quick);
//myPrint(array_merge($quick,$quickA));
$sum2= array_sum(array_merge($quick,$quickA));
echo $sum2;
myprint(array_flip($quick));
// each() list() reset()
// 这个很有意思
$final=array(1=>"eat",2=>"listen",3=>"look");
while(list($key,$value)=each($final))
{
echo $key."....".$value;
}
reset($final);
list($nowkey,$nowvalue)=each($final);
echo $nowkey.".....".$nowvalue;
?>
*******************************************************************