PHP中处理数组键和值的函数

来源:互联网 发布:深圳unity3d招聘 编辑:程序博客网 时间:2024/05/16 01:06
<?php
    /*1.数组和字符串的处理占了整个php程序设计的50%以上,所以相关的系统函数要很了解
      2.PHP手册不光是一本良好的查询工具,更是一本好的php官方教程
      3.获取数组所有值的函数array_values和键的函数array_keys
    */

 $arr=array("os"=>"windows","webserver"=>"Apache","one"=>10,"db"=>"Mysql","Language"=>"PHP","10","first"=>null);

    print_r($arr);
    echo "<br>";
    $value=array_values($arr);
    print_r($value);
    //用list()函数也可以获取所有返回的值
    list($os,$webser,$db,$lang)=$value;
    echo $os,$webser,$db,$lang."<br>";
    //若参数上指定数组的值则只返回对应值得部分键名
    $key=array_keys($arr);
    print_r($key);
    echo "<br>";
    $keyone=array_keys($arr,"Mysql");
    print_r($keyone);
    /*in_array函数返回的是bool型,第一个参数如果传的是个字符串默认也是区分大小写的,第三个参数如果是true,
      则规定不光值相等,类型也必须相同*/

    if(in_array("10",$arr,true))
    {
        echo "在数组中<br>";
    }
    else
    {
        echo "不在数组中<br>";
    }
    //array_search函数返回的则是键名,功能与in_array相同
    echo array_search("windows",$arr);
    echo "<br>";
    
    //array_key_exists()函数返回的是bool型,若键存在返回真,反之返回假
    if(array_key_exists(0,$arr))
    {
        echo "在数组中<br>";
    }
    else{
        echo "不在数组中<br>";
    }
    //isset() 对于数组中为 NULL 的值不会返回 TRUE ,而 array_key_exists() 会
    var_dump(isset($arr["first"]));//返回false
    echo "<br>";
    var_dump(array_key_exists("first",$arr));//返回true
    
    /*array_flip()函数用来调换数组中的键和值的位置,且要被翻转的值必须是整形和字符型,否则会发出警告;
      翻转的值如果相同,则后面的值对应的键会作为它的值,其余的被覆盖*/

    $arrflip=array_flip($arr);
    print_r($arrflip);
    
    //array_reverse()函数用来调换数组的顺序,如果设置为 TRUE 会保留数字的键,非数字的键则不受这个设置的影响,总是会被保留
    $num=array("one","two","three","four");
    $renum=array_reverse($num,true);//加true之后不会重新建立索引
    print_r($renum);
?>