PHP笔记数组键值操作函数

2017-02-20  本文已影响24人  青鸟evergreen

array_values()

返回数组中所有的值并建立数字索引

$lamp  = array('os' =>"Linux","webserver"=>"Apache","db"=>"MySql","language" =>"PHP","full"=>null );
list($os,$webserver,$db,$language) = array_values($lamp);
echo $os."<br>";              //  Linux
echo $webserver."<br>";  // Apache
echo $db."<br>";               // MySql
echo $language."<br>";     // PHP

array_keys()

返回数组中所有的键名

$keys = array_keys($lamp);
print_r($keys);
//Array ( [0] => os [1] => webserver [2] => db [3] => language )

in_array()

判断值是否在数组中,区分大小写,第三个参数BOOL值判断类型是否相同

if (in_array('linux', $lamp)) {
        echo "存在";
    }
与isset区别,假如值为null的话,会判定不存在,而in_array会判定存在
if (isset($lamp['full'])) {
        echo "存在";
    }

array_search

在数组中搜索给定的值,如果成功返回相应的键名

$wp = ["wp",1,2,3,4,-4,-3,false,0,null];
    function demo($value){

        if ($value>0) {
                return true;
            }   else{
                return false;
            }
    }
    // 过滤函数,回调函数及匿名函数的形式
    var_dump(array_filter($wp,"demo"));
    var_dump(array_filter($wp,function($value){
        return $value%2 == 0;
    }));

    //array_walk,如果需要操作对原值的改变,需要加个&,array_walk本身返回的是BOOL值
    function myfun(&$value){
        $value  = $value * $value;
    }
    print_r($wp);
    echo "<br>";
    array_walk($wp, "myfun");
    print_r($wp);
    echo "<br>";

     //对键和值处理
    array_walk($wp,function($value,$key){

        echo "{$key}====>{$value}";
    });

    //多个参数的处理
    array_walk($wp, function($value,$key){
        echo "{key}{str}{value}";
    },"######");

    $wps = [1,3,2,5,4,6,8,7];
    //冒泡排序
    $len = count($wps);
    for ($j=0; $j <$len-1 ; $j++) { 
        for ($i=0; $i < $len- i -1; $i++) { 
            if ($wps[$i]< $wps[$i+1]) {
                $tmp = $wps[$i];
                $wps[$i] = $wps[$i+1];
                $wps[$i+1] = $tmp;
            }   
        }   
    }

上一篇下一篇

猜你喜欢

热点阅读