php值用二维数组怎么保存数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php值用二维数组怎么保存数据相关的知识,希望对你有一定的参考价值。

var city=[
["北京","天津","上海","重庆"],
["南京","苏州","南通","常州"],
];
在一个表里面有这样的数据。
INSERT INTO `car_lib` VALUES ('1', '直辖市', '北京');
INSERT INTO `car_lib` VALUES ('2', '直辖市', '天津');
INSERT INTO `car_lib` VALUES ('3', '直辖市', '上海');
INSERT INTO `car_lib` VALUES ('4', '江苏省', '重庆');

INSERT INTO `car_lib` VALUES ('5', '江苏省', '南京');
INSERT INTO `car_lib` VALUES ('6', '江苏省', '苏州');
INSERT INTO `car_lib` VALUES ('7', '江苏省', '南通');
INSERT INTO `car_lib` VALUES ('7', '江苏省', '常州');

我想把这个表里面的
北京、天津、上海、重庆
南京、苏州、南通、常州
保存在二维数组里面,而且要直辖市的为一组,江苏省的为一组,我在用php在数据库动态的读取出来、我改怎么写读取的代码呢?

$ary = array("直辖市"=>array("北京","天津","上海","重庆"),
             "江苏省"=>array("南京","苏州","南通","常州"),
             );
//这样就是一个二维数组
//我们使用的时候可以用foreach进行遍历
foreach($ary as $k=>$v)
    echo "$k:";
    foreach($v as $m)
        echo "$m,";
    
    echo "<br>\\r\\n";

不知道这样的代码你能否看得懂?不明白再问吧。

参考技术A $res = select 直辖市这个字段 from 表 group by 直辖市这个字段 ;
foreach ($res as $key=>$val)
$city[$val['直辖市这个字段']] = select city from 表 where 直辖市这个字段 = $val['直辖市这个字段']
参考技术B 就不能说详细点吗,是从表里面拿数据保存到数组里面呢,还是单纯的保存数据 参考技术C 不会算吗??追问

就是不会。求解

PHP如何改变二维数组键标???

例如:$A=((1,2),(0,0),(9,0))
$A对应键标为key1=>(1,2);key2=>(0,0);key3=>(9,0);
最终需要得到$A=((1,2),(9,0));
$A对应键标为key1=>(1,2);key2=>(9,0);

关键是你对建标是怎么要求的,是有规则连续变化的还是没有规则的,大部分是有规则的。
$A=array(z,x,v); //你要整理的数组
$karr=array(a,b,c); //你想要增加的键标,放到这个$karr数组
$i=-1; //
foreach($a as $k=>$v) //循环组成一个新的数组$n
$i++;
$k=$karr[$i];
$n[$k]=$v;

print_r($n); //打印$n 看看是不是你想要的追问

foreach用不了二维数组吧,我的要求就是把二维数组中的某个子元素删除后,被删除子元素后面的KEY会重新赋值。

追答

额..不太明白,你是想要重新赋值还是不想要?
foreach是可以遍历任何数组,就看怎么组合。
你可以把键写进一个方法里面,foreach每循环一次执行一下那个方法,当然那个方法里面写好各种情况的判断,我不大明白你的意思,所以就不写方法了,但是解决流程基本就是这样吧

参考技术A 说的是array_values这个函数??

以上是关于php值用二维数组怎么保存数据的主要内容,如果未能解决你的问题,请参考以下文章

PHP中怎么从一个二维数组中随机取出一个值?

php 如果判断一个二维数组中数据是不是存在于另一个二维数组中?

PHP

php sql条件参数为数组

PHP如何聚合二维数组

在 HSQLDB 中保存二维数组