php二维数组的取值与转换

1 while(list($key,$value) = each($arr))
2 {
3  while(list($k,$v) = each($value))
4  {
5   echo $key."==>".$k."===>".$v."<br>";
6  }
7 }
 1 $msg = array(
 2   array(
 3     ‘id‘=>‘45s‘,
 4     ‘name‘=>‘jacks‘
 5   ),
 6   array(
 7     ‘id‘=>‘3s4‘,
 8     ‘name‘=>‘masry‘
 9   ),
10   array(
11     ‘id‘=>‘7s8‘,
12     ‘name‘=>‘lili‘
13   ),
14 );
15 一般实现方法:
16 1解:foreach($msg as $k => $v){
17     $ids[] = $id;
18     $names[] = $name;
19   }
20 2解:$ids = array_column($msg, ‘id‘);
21     $names = array_column($msg, ‘name‘);
22 以上两种解法print_r($names);后的结果为:
23 Array(
24   [0]=>jack
25   [1]=>mary
26   [2]=>lili
27 )
28 3
29 快速实现方法:
30 注意:array_column();可以有第三个参数,如 $n = array_column($msg, ‘name‘, ‘id‘);
31 print_r($n);的结果为:
32 Array(
33   [45]=>jacks
34   [34]=>masry
35   [78]=>lili
36 )
 1 public  function arrayChange($a){
 2                 static $arr2;
 3                     foreach($a as $v)
 4                     {
 5                         if(is_array($v))
 6                         {
 7                             $this->arrayChange($v);//这里tp加this
 8                         }else{
 9
10                             $arr2[]=$v;
11                         }
12                     }
13
14                     return $arr2;
15
16                 }

php二维数组的取值与转换,布布扣,bubuko.com

时间: 2024-10-07 05:55:03

php二维数组的取值与转换的相关文章

PHP 按二维数组的键值排序

/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升序/降序 * @return multitype:unknown 返回排序后的数组 */ public static function arr_sort_in_key($array, $key, $order = "asc") { $arr_nums = $arr = array(); f

使用一个for循环将N*N的二维数组的所有值置1

<?php // 使用一个for循环将N*N的二维数组的所有值置1 $n = 3; $a = []; for($i=0;$i<$n*$n;$i++){ $a[$i/$n][$i%$n] = 1; } print_r($a);

php多维数组的取值基础知识

1:把二维的post赋值给变量后,打印变量,变量依然是个二维数组. 2:如下:二维数组取值应该为:print_r($_POST['ids']['1']);  输出:2 结论:中括号内的一定是下标:有几对小括号,就是几维数组.=>在foreach循环的时候键必须是中括号内的键 [ 即下标 ] 解释:一对小括号就是一维数组,两对小括号就是二维数组…… Array ( [ids] => Array ( [0] => 1 [1] => 2 [2] => 4 ) ) //上面格式化源代

[leetcode]54. Spiral Matrix二维数组螺旋取数

import java.util.ArrayList; import java.util.List; /** * Given a matrix of m x n elements (m rows, n columns), * return all elements of the matrix in spiral order. For example, Given the following matrix: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] You

二维数组去除重复值和array_unique函数

今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对多维数组进行去除重复,因此我需要自己写一个去除二维数组重复值的函数. 1 function array_unique_fb($array2D){ 2 3 foreach ($array2D as $v){ 4 $v=join(',',$v);//降维,也可以用implode,将一维数组转换为用逗号连

php二维数组去除重复值

<?php$test[0] = array( 'id' => '17', 'name' => "儿童", 'ra' => "456");$test[1] = array( 'id' => '17', 'name' => "sad儿童", 'ra' => "789");$test[2] = array( 'id' => '16', 'name' => "撒的&quo

PHP获取二维数组指定字段值的和

array_sum(array_column($arr, 'num')); //获取二维数组 num字段的和 $arr = [ [ 'device_uid' => '123456', 'num' => '5', ], [ 'device_uid' => '123457', 'num' => '2', ], [ 'device_uid' => '123458', 'num' => '4', ], ]; echo '<pre>'; //先对二维数组进行处理,再对

二维数组追加键值对

1 $wid=$this->_post('order_id'); 2 if(!$wid){ 3 echo('工单信息获取失败!'); 4 exit; 5 } 6 $where=null; 7 $where['A.wid']=$wid; 8 $list=M('kefu_reply')->alias("A")->join('z_user_common as B on A.uid=B.id')-> 9 where($where)->field('A.*,B.re

php二维数组按照键值排序的方法

//按照传入数组中的num倒序 public function numdesc($array,$key="num",$order="desc"){ $arr_nums=$arr=array(); foreach($array as $k=>$v){ $arr_nums[$k]=$v[$key]; } if($order=='asc'){ asort($arr_nums); }else{ arsort($arr_nums); } foreach($arr_num