PHP数组(正则表达式、数组、预定义数组)

1.替换

复制代码
$s = "hello5world";
$s = preg_replace("/d/","#",$s);
echo $s;
//输出结果为hello#world,数字被替换成了#。

//第一个数字是被替换的内容,"/d/"表示正则表达式的数字。
//第二个参数是要用什么来替换。
//第三个参数是要操作的数组。

复制代码

2.拆分

//$s = "hello5world";
//$attr = preg_split("/d/",$s); //按照正则表达式拆分
//var_dump($arr);
//第一个参数是按照什么拆分,第二个参数是拆分哪个字符串。

3.匹配

复制代码
//$s = "he8llo5wor6ld";
//$arr = array();
//preg_match("/d/",$s,$arr); //匹配满足正则的第一个字符串,在这匹配出的是8(8)是字符串中的第一个数字。
//preg_match_all("/d/",$s,$arr); //匹配所有满足正则的字符串,匹配出的是所有的数字(8、5、6)。
//第一个参数是按照什么匹配
//第二个参数是匹配的数组
//第三个参数是另一个数组,也可以是空的数组,匹配完以后的数组放在此数组中。
复制代码

数组

1.数组定义

//$attr = array();//定义一个空的数组
//$attr = array(1,2,3,4);//定义一个有值的数组

2.赋值定义

/*$attr[0]="aa";
$attr[1]="bb";
echo $attr[1];
*/

3.数组分类

(1)索引数组

/*$attr = array(1,2,3,4,5);
print_r($attr);

(2)关联数组

//$attr = array("code"=>101,"name"=>"张三","sex"=>"男");//code=>101表示赋值.code可以成为key,101为name。
//print_r($attr);
//echo $attr["name"];

4.遍历数组

(1)for循环遍历,只能遍历索引数组

//$attr = array("aa","bb","cc","dd");

/*for($i = 0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
*/

(2)foreach遍历,关联和索引都可以遍历.

复制代码
//$attr = array("aa","bb","cc","dd");
/*foreach($attr as $v)
{
echo $v."<br>";
}*/
//只能遍历出值
/*foreach($attr as $k=>$v) { echo $k."--".$v."<br>"; }*/
//可以遍历出key和value
复制代码

(3)使用each()和list()结合遍历

复制代码
//var_dump(each($attr));//取数组里面当前指针指向的元素.

//list($a,$b,$c,$d)=$attr;//写在等号左边的将数组里面的元素交给一组变量,数组必须是索引数组。
//echo $c;

/*list($k,$v) = each($attr);
echo $k;
echo $v;*/

/*while(list($k,$v) = each($attr));
{
    echo "{$k}--{$v}<br>";
}*/
复制代码

(4)使用指针遍历

复制代码
//var_dump(current($attr));//取当前指针指向的元素的值
//key($attr);//取当前指针指向的元素的key
//next($attr);//将指针向后调一个
//prev($attr);//将指针向前调一个
//end($attr);//将指针向指向最后
//reset($attr);//将指针重置

/*var_dump(next($attr));
var_dump(next($attr));
var_dump(next($attr));
var_dump(next($attr));*/

/*while(next($attr))
{
    echo current($attr);
    echo key($attr);
}*/

/*do
{
    echo current($attr);
    echo key($attr);
}
while(next($attr))
*/
原文地址:https://www.cnblogs.com/ysdong/p/5991250.html