chenkehao 发表于 2017-3-20 13:01:51

php数据操作

  最全的数组函数介绍:http://cn2.php.net/manual/zh/book.array.php,常用备忘。
  声明:
  $array = array("id" => 1, "name" => "duanyong");
  得到所有键:
  $key = array_keys($array);
  得到所有值:
  $values = array_values($array);
  遍历值和值:
  a. foreach ($array as $key => $value) {
    echo $key . "\t" . $value;
}

b. while (list($key, $value) = each($array)) {
    echo $key . "\t" . $value;
}

检索数据
in_array()与array_search(),指定第三个参数为true,那么会执行严格检查(如数组中有字符串的1,而查找却用数字1,在没有指定第三个参数会返回true,否则false)。
in_array("duanyong", array("aaaa", "bbbb", "duanyong"));    //检查字符串duanyong是否存在于数组中
array_search("duanyong", array("id" => "1", "sex" => 1, "name" => "duanyong"), true);    //查找到值后返回键,否则返回false
  检查索引是否存在
$array = array("name" => null);
isset($array["name"]);            //return false
array_key_exists("name", $array);    //return true
  数组指针操作
  要特别注意地是指针如果已经移到数据下标外,需要用reset将数组指针复位(置于第一个元素)才可以继续操作,否则会出现意外。
current($array);    //返回当前元素
next($array);        //返回下一个元素,没有返回false
prev($array);        //返回上一个元素,没有返回false
end($array);        //返回最后一个元素
reset($array);    //将指针置于第一个元素上
  数组排序
排序的类型:
    ·    SORT_REGULAR     - 正常比较单元(不改变类型)
    ·    SORT_NUMERIC     - 单元被作为数字来比较
    ·    SORT_STRING     - 单元被作为字符串来比较
    ·    SORT_LOCALE_STRING - 根据当前的区域(locale)设置来把单元当作字符串比较。PHP 4.4.0 和 5.0.2 新加。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。

对数据按值排序,保持键值关系
asort,arsort
  
对数据按键排序,保持键值关系
ksort,krsort
  
对数据排序同时抛弃键,生成新的数据索引
sort,resort
  
按用户规则排序,usort会删除原有索引,uksort和uasort会保持原有索引
usort,uksort,uasort
  
数组过滤
array_filter() 如果不指定过滤函数会返回元素布尔值为true的元素
页: [1]
查看完整版本: php数据操作