全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 769|回复: 10

[翻译] php数组多个二维转成三维。每个2个二维转1个3维怎么写

[复制链接]
发表于 2019-2-11 11:07:30 | 显示全部楼层 |阅读模式
本帖最后由 今晚我是你的 于 2019-2-11 15:44 编辑
  1. <?php
  2. $arr = array(
  3.     array(
  4.        'book_id' => 1,
  5.        'title' => '标题一',
  6.     ),
  7.     array(
  8.        'book_id' => 2,
  9.        'title' => '标题二',
  10.     ),
  11.     array(
  12.        'book_id' => 3,
  13.        'title' => '标题三',
  14.     ),
  15.     array(
  16.        'book_id' => 4,
  17.        'title' => '标题四',
  18.     ),
  19. );
  20. print_r($arr);
  21. //输出
  22. Array ( [0] => Array ( [book_id] => 1 [title] => 标题一 ) [1] => Array ( [book_id] => 2 [title] => 标题二 ) [2] => Array ( [book_id] => 3 [title] => 标题三 ) [3] => Array ( [book_id] => 4 [title] => 标题四 ) )
  23. ?>
复制代码

把上面4个二维数组转换成
  1. Array (
  2. [0] => Array ( [0] => Array ( [book_id] => 1 [title] => 标题一 ) [1] => Array ( [book_id] => 2 [title] => 标题二 ) )
  3. [1] => Array ( [0] => Array ( [book_id] => 3 [title] => 标题三 ) [1] => Array ( [book_id] => 4 [title] => 标题四 ) )
  4. )
复制代码

就是转成三维数组,每个三维有2个二维。
8楼帮我实现了上面要的结果,我还以为搞不定了呢。
发表于 2019-2-11 12:46:26 来自手机 | 显示全部楼层
没人理你,打破1小时惨案。php不太会,你=>太多了我不习惯。假设有a[],b[],c[],d[],其中a[0]=aa[],a[1]=aa[],b[0]=bb[],b[1]=bb[]…………,现在你想e[0]=a[],e[1]=b[],普通的成员赋值不就够了?
 楼主| 发表于 2019-2-11 13:11:07 | 显示全部楼层
逸笙 发表于 2019-2-11 12:46
没人理你,打破1小时惨案。php不太会,你=>太多了我不习惯。假设有a[],b[],c[],d[],其中a[0]=aa[],a[1 ...


因为我最终要去tp5模板循环。你这样手动指定不方便自动循环
发表于 2019-2-11 13:15:39 来自手机 | 显示全部楼层
今晚我是你的 发表于 2019-2-11 13:11
因为我最终要去tp5模板循环。你这样手动指定不方便自动循环

循环自动指定啊,(但你哪2个归一个呢?)
 楼主| 发表于 2019-2-11 13:31:47 | 显示全部楼层
逸笙 发表于 2019-2-11 13:15
循环自动指定啊,(但你哪2个归一个呢?)

前2个归为1个  后2个在归为1个
感觉要写个for但是不会写
发表于 2019-2-11 13:40:01 来自手机 | 显示全部楼层
今晚我是你的 发表于 2019-2-11 13:31
前2个归为1个  后2个在归为1个
感觉要写个for但是不会写

不,我意思是,在程序看来,什么是前2个,什么是后2个?前2个有什么关联?话说你这4个在赋值的时候怎么赋值的?直接=到3维里面不好吗……
发表于 2019-2-11 13:46:05 来自手机 | 显示全部楼层
哦上一楼离题了。你这是不知道你想知道什么所以你百度都不知道百度啥……我前些天研究dnspod的api,研究了几天的json用php处理。也是数组处理。你百度数组循环取值啊。

点评

你看8楼是我要的结果,但是还需要完善。三维下面的二维数组要能指定  发表于 2019-2-11 15:31
发表于 2019-2-11 13:53:04 | 显示全部楼层
  1. <?php
  2. $arr = array(
  3.     array(
  4.        'book_id' => 1,
  5.        'title' => '标题一',
  6.     ),
  7.     array(
  8.        'book_id' => 2,
  9.        'title' => '标题二',
  10.     ),
  11.     array(
  12.        'book_id' => 3,
  13.        'title' => '标题三',
  14.     ),
  15.     array(
  16.        'book_id' => 4,
  17.        'title' => '标题四',
  18.     ),
  19. );
  20. print_r($arr);





  21. $i=0;
  22. $ret=array();
  23. foreach($arr as $v){
  24.   $ret[$i>>1][]=$v;
  25.   $i++;
  26. }
  27. print_r($ret);
复制代码

点评

谢谢大佬帮忙写。学习了  发表于 2019-2-11 15:43
 楼主| 发表于 2019-2-11 15:19:34 | 显示全部楼层
本帖最后由 今晚我是你的 于 2019-2-11 15:43 编辑


谢谢大佬是我要的结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-3-28 19:36 , Processed in 0.064042 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表