php正则表达式、数组

<?php

$s = "he8llo5wor6ld";
$s = preg_replace("/d/","#",$s);按照正则表达式替换
$attr = preg_split("/d/",$s); 按照正则表达式拆分
$arr = array();
preg_match("/d/",$s,$arr); 匹配满足正则的第一个字符串
preg_match_all("/d/",$s,$arr); 匹配所有满足正则的字符串
var_dump($arr);

数组定义
$attr = array();定义一个空的数组
$attr = array(1,2,3,4); 定义一个有值的数组
$attr[0]="aa";
$attr[1]="bb";
var_dump($attr);

数组分为两种
1.索引数组
$attr = array(1,2,3,4,5);
print_r($attr);
2.关联数组
$attr = array("code"=>101,"name"=>"张三","sex"=>"男");
print_r($attr);
echo $attr["name"];

遍历数组
$attr = array("aa","bb","cc","dd");

1.for循环遍历,只能遍历索引数组
for($i=0;$i<count($attr);$i++)
{
    echo $attr[$i]."<br>";
}

2.foreach遍历,关联索引都支持
foreach($attr as $v)
{
    echo $v."<br>";
}

foreach($attr as $k=>$v)
{
    echo $k."---".$v."<br>";
}

3.使用each()和list()结合遍历
var_dump(each($attr)); 取数组里面当前指针指向的元素
list($a,$b,$c,$d)=$attr; 写在等号左边的,将数组里面的元素交给一组变量,数组必须是索引数组

while(list($k,$v) = each($attr))
{
    echo "{$k}--{$v}<br>";
}


4.使用指针遍历
current($attr); 取当前指针指向的元素的值
echo key($attr); 取当前指针指向的元素的key
next($attr); 将指针向后调一个
next($attr);
prev($attr); 将指针向前调一个
end($attr); 将指针指向最后
reset($attr); 将指针重置
echo current($attr);


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

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



var_dump($_FILES);



$attr = array(
    array("n001","汉族"),
    array("n002","回族"),
    array("n003","满族"),
    array("n004","维吾尔族")
);


echo "<select>";
echo "<option>所有的</option>";

foreach($attr as $v)
{
    echo "<option>{$v[1]}</option>";
}


echo "</select>";

?>



<select>
    <option>所有</option>
    <?php
        
        foreach($attr as $v)
        {
            echo "<option>{$v[1]}</option>";
        }
    ?>
</select>
原文地址:https://www.cnblogs.com/u1020641/p/5990383.html