PHP 多维数组 Key Value的使用

<?php
$user["60"] = array("id" => "60", "num" => "56", "count" => "31");
$user["61"] = array("id" => "61", "num" => "22", "count" => "34");
$user["59"] = array("id" => "59", "num" => "32", "count" => "43");
$user["56"] = array("id" => "56", "num" => "41", "count" => "38");
$user["57"] = array("id" => "57", "num" => "39", "count" => "65");

$values = array_values($user);//返回数组的所有值(非键名)
$keys = array_keys($user);//返回包含数组中所有键名的一个新数组

$iskey=array_key_exists("57",$user);//检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false。
$iskey=array_key_exists(57,$user); //结果同上,不依赖类型,数字 57 与字符串 "57" 是相同的。

$key =array_keys($keys,57) ;// 函数返回包含数组中所有键名的一个新数组。如果提供了第二个参数,则只返回键值为该值的键名。

$result[‘status‘] = 0;
$result[‘res‘]=count($key);

//$result[‘res‘] = $user;
//-----------返回值是对象:
//-----------{"status":0,"res":{"60":{"id":"60","num":"56","count":"31"},"61":{"id":"61","num":"22","count":"34"},"59":{"id":"59","num":"32","count":"43"},"56":{"id":"56","num":"41","count":"38"},"57":{"id":"57","num":"39","count":"65"}}}

//$result[‘res‘] = $values;
//-----------返回值是数组:
//-----------{"status":0,"res":[{"id":"60","num":"56","count":"31"},{"id":"61","num":"22","count":"34"},{"id":"59","num":"32","count":"43"},{"id":"56","num":"41","count":"38"},{"id":"57","num":"39","count":"65"}]}

//$result[‘res‘] = $keys;
//-----------返回值是key的一维数组:
//-----------{"status":0,"res":[60,61,59,56,57]}

//sort($user);//按key排序之后,key被过滤掉
//$result[‘res‘] = $user;
//-----------返回值是按key排序(不包括key)的多维数组:
//-----------{"status":0,"res":[{"id":"56","num":"41","count":"38"},{"id":"57","num":"39","count":"65"},{"id":"59","num":"32","count":"43"},{"id":"60","num":"56","count":"31"},{"id":"61","num":"22","count":"34"}]}

echo json_encode($result);
?>
时间: 2024-11-15 18:16:37

PHP 多维数组 Key Value的使用的相关文章

如何从二维数组中的多个key中获取指定key的值?

精华 LOVEME96 2016-10-21 10:40:19 浏览(1512) 回答(3) 赞(0) 新手求教:二维数组中一般会有多个key,如果我们要获得指定key的值,应该怎么做? 问题标签: php 回答(3) TimberSwift 2016-10-21 第一种:最简单的方法: foreach遍历数组,代码: foreach ($arr as $key => $value) { $arr2[] = $value['name']; } 另一种方法:使用了array_map $arr2 =

PHP二维数组合并,根据某个key合并

/** *PHP二维数组合并,根据某个key合并 * @param type $v 要传入的组合阵列 * @param type $keyname 对应的KEY名称. * @param type $valname 要写入的值KEY名称 * @param type $s 重组译的阵例.预设空值. */ function test($v,$keyname,$valname,$s=Array()){ foreach($v AS $_k => $d){ $s[$d[$keyname]][$valname

php 替换二维数组的 key

php 替换二维数组中的 key // 需要替换 key 的数组 $arr_old = array( '0' => array('id' => 1, 'name' => 'Carroll'), '1' => array('id' => 2, 'name' => 'Chrdai'), '3' => array('id' => 3, 'name' => 'xiaodai'), ); // 将新的key定义一个新数组 $key_name = array('k

重构二维数组。key 是id val 是更新字段

$arr=Array ( 'contract_type' => Array (   '0' => 0, '1' => 0, '2' => 0,'3' => 0, ), 'use_contract' => Array (  '0' => 7,  '1' => 8,  '2' => 9, '3' => 10, ), 'use_name' => Array (   '0' => '合同人1',  '1' => '合同人2',  '2'

PHP二维数组根据某个元素(key)去重

/** * 二维数组根据key去重复 * @param $arr * @param $key * @return array */ function arrayUniqueness($arr,$key){ $res = array(); foreach ($arr as $value) { //查看有没有重复项 if(isset($res[$value[$key]])){ //有:销毁 unset($value[$key]); } else{ $res[$value[$key]] = $valu

PHP二维数组根据某个元素(key)排序

/** * 二维数组根据key排序 * @param $arr * @param $arr_key * @param string $order 排序规则 * @return mixed */ function myArrayMultisort($arr,$arr_key,$order='asc'){ foreach($arr as $val){ $key_arrays[]=$val[$arr_key]; } if ($order == 'asc'){ array_multisort($key_

PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' => 'zs', 'name' => '张三'], ['id' => 'ls', 'name' => '李四'], ['id' => 'wr', 'name' => '王二']]; // 将二维数组内某具体列的值组成一个新用户数组 $userArrayNew = array_

多维数组计算差集

大家都知道一维数组计算差集的内置函数是array_diff_assoc($array1, $array2),可是多维数组怎样计算差集呢,就须要写一个对应的算法. 我写了一个算法供大家參考. <? php //多维数组的差集 function array_diff_assoc_recursive($array1,$array2){     $diffarray=array();     foreach ($array1 as $key=>$value){       //推断数组每一个元素是否是

PHP不定维数组去除空值

最近遇到一个问题,是将不定维数组的空值去除,回来研究了一下,写出来了,不知道是否还能优化 写的不好的,如果有好的想法或者好的实现方法,欢迎提出来,如果哪里写错了,也欢迎大牛可以讲解一下 代码如下,欢迎指正 function array_remove($arr){ //首先判断是不是一个数组 if(!is_array($arr)) return false; foreach ($arr as $key => $value) { if(is_array($value)) { $arr[$key] =