数组取值问题,请大佬指点,谢谢

qq_34494805 2018-09-20 11:54:00
第一组数组
[{
"id": "308",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714374",
"content": "308",
"uid": "10000"
},
{
"id": "307",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714371",
"content": "307",
"uid": "10000"
},
{
"id": "306",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714364",
"content": "306",
"uid": "10000"
}];

第二组数组
[{
"replyname": "\u533f\u540d",
"date": "1536714502",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined"
},
{
"replyname": "\u533f\u540d",
"date": "1536714423",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a"
},
{
"replyname": "\u533f\u540d",
"date": "1536714406",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a"
},
{
"replyname": "\u533f\u540d",
"date": "1536714389",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a"
}];


我循环

$data=第一组数组;
childComments =第二组数组;
foreach ($data as $k=>$v) {
$result[$v['id']]['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['id']]['replyBody']= [];
$commentIds[] = $v['id'];
}

foreach ($childComments as $v) {
$v['id'] = $v['replyid'];
$v['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['replyid']]['replyBody'][] = $v;
}


得到这样的数组


{
"308": {
"date": "2018-09-12 09:06:14",
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:08:22",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined",
"id": "308"
},
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:29",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a",
"id": "308"
}]
},
"307": {
"date": "2018-09-12 09:06:11",
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:46",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a",
"id": "307"
}]
},
"306": {
"date": "2018-09-12 09:06:04",
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:07:03",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a",
"id": "306"
}]
}
};


引用
可我想得到的是 下面这样的数组
不要"306": "307": "308": 这些id
我尝试过删除第一个循环的[$v['id']]
以及第二个循环的[$v['replyid']]都没用,特来发帖求指点,拜谢大佬


[{
id: 1,
img: "./images/img.jpg",
replyName: "帅大叔",
beReplyName: "匿名",
content: "同学聚会,看到当年追我的屌丝开着宝马车带着他老婆来了,他老婆是我隔壁宿舍的同班同学,心里后悔极了。",
time: "2017-10-17 11:42:53",
address: "深圳",
osname: "",
browse: "谷歌",
replyBody: []
},
{
id: 2,
img: "./images/img.jpg",
replyName: "匿名",
beReplyName: "",
content: "到菜市场买菜,看到一个孩子在看摊,我问:“一只鸡多少钱?” 那孩子回答:“23。” 我又问:“两只鸡多少钱?” 孩子愣了一下,一时间没算过来,急中生智大吼一声:“一次只能买一只!”",
time: "2017-10-17 11:42:53",
address: "深圳",
osname: "",
browse: "谷歌",
replyBody: [{
id: 3,
img: "",
replyName: "帅大叔",
beReplyName: "匿名",
content: "来啊,我们一起吃鸡",
time: "2017-10-17 11:42:53",
address: "",
osname: "",
browse: "谷歌"
}]
},
];



...全文
130 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34494805 2018-09-21
  • 打赏
  • 举报
回复
单独另开一个方法 打印数组这样,郁闷了
data
Array
(
[0] => Array
(
[id] => 308
[ip] => 168429768
[beReplyName] =>
[browse] => Firefox 63.0
[osname] => Windows 10
[replyname] => 匿名
[date] => 1536714374
[content] => 308
[uid] => 10000
)

[1] => Array
(
[id] => 307
[ip] => 168429768
[beReplyName] =>
[browse] => Firefox 63.0
[osname] => Windows 10
[replyname] => 匿名
[date] => 1536714371
[content] => 307
[uid] => 10000
)

[2] => Array
(
[id] => 306
[ip] => 168429768
[beReplyName] =>
[browse] => Firefox 63.0
[osname] => Windows 10
[replyname] => 匿名
[date] => 1536714364
[content] => 306
[uid] => 10000
)

[3] => Array
(
[id] => 1
[ip] => 0
[beReplyName] =>
[browse] =>
[osname] =>
[replyname] =>
[date] => 0
[content] =>
[uid] => 0
)

)

childComments


Array
(
[0] => Array
(
[replyname] => 匿名
[date] => 1536714502
[content] => 308-2
[uid] => 10000
[replyid] => 308
[beReplyName] => undefined
)

[1] => Array
(
[replyname] => 匿名
[date] => 1536714423
[content] => 306-1
[uid] => 10000
[replyid] => 306
[beReplyName] => 306a
)

[2] => Array
(
[replyname] => 匿名
[date] => 1536714406
[content] => 307-1
[uid] => 10000
[replyid] => 307
[beReplyName] => 307a
)

[3] => Array
(
[replyname] => 匿名
[date] => 1536714389
[content] => 308-1
[uid] => 10000
[replyid] => 308
[beReplyName] => 308a
)

[4] => Array
(
[replyname] =>
[date] => 0
[content] =>
[uid] => 0
[replyid] => 306
[beReplyName] =>
)

)

最后循环变这样了,郁闷了,版主给的确实单独运行没问题,
一到我这就变了 真奇了怪了



Array([0] = >Array([date] = >2018 - 09 - 12 09 : 06 : 14[replyBody] = >Array()

)

[1] = >Array([date] = >2018 - 09 - 12 09 : 06 : 11[replyBody] = >Array()

)

[2] = >Array([date] = >2018 - 09 - 12 09 : 06 : 04[replyBody] = >Array()

)

[3] = >Array([date] = >1970 - 01 - 01 08 : 00 : 00[replyBody] = >Array()

)

[308] = >Array([replyBody] = >Array([0] = >Array([replyname] = >匿名 [date] = >2018 - 09 - 12 09 : 08 : 22[content] = >308 - 2[uid] = >10000[replyid] = >308[beReplyName] = >undefined[id] = >308)

[1] = >Array([replyname] = >匿名 [date] = >2018 - 09 - 12 09 : 06 : 29[content] = >308 - 1[uid] = >10000[replyid] = >308[beReplyName] = >308a[id] = >308)

)

)

[306] = >Array([replyBody] = >Array([0] = >Array([replyname] = >匿名 [date] = >2018 - 09 - 12 09 : 07 : 03[content] = >306 - 1[uid] = >10000[replyid] = >306[beReplyName] = >306a[id] = >306)

[1] = >Array([replyname] = >[date] = >1970 - 01 - 01 08 : 00 : 00[content] = >[uid] = >0[replyid] = >306[beReplyName] = >[id] = >306)

)

)

[307] = >Array([replyBody] = >Array([0] = >Array([replyname] = >匿名 [date] = >2018 - 09 - 12 09 : 06 : 46[content] = >307 - 1[uid] = >10000[replyid] = >307[beReplyName] = >307a[id] = >307)

)

)

)
qq_34494805 2018-09-21
  • 打赏
  • 举报
回复
奇怪了,还是这样
var arr = [{
"date": "2018-09-12 09:06:14",
"replyBody": []
},
{
"date": "2018-09-12 09:06:11",
"replyBody": []
},
{
"date": "2018-09-12 09:06:04",
"replyBody": []
},
{
"date": "1970-01-01 08:00:00",
"replyBody": []
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:08:22",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined",
"id": "308"
},
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:29",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a",
"id": "308"
}]
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:07:03",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a",
"id": "306"
},
{
"replyname": "",
"date": "1970-01-01 08:00:00",
"content": "",
"uid": "0",
"replyid": "306",
"beReplyName": "",
"id": "306"
}]
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:46",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a",
"id": "307"
}]
}];

qq_34494805 2018-09-21
  • 打赏
  • 举报
回复
       $sql=new \yii\db\Query();
$sqlaa=new \yii\db\Query();
$count = $sql->from($this->tableName())->select('id')->where(['replyid' => 0, 'status' => 0])->count(); // 查询需要分页的目的数据的总个数
$newspagination = new \yii\data\Pagination(['totalCount'=>$count,'defaultPageSize' => 5]);

$data=$sql->from($this->tablename())
->select('id,ip,beReplyName,browse,osname,replyname,date,content,uid')
->where(['replyid' => 0, 'status' => 0])
->offset($newspagination->offset)
->limit($newspagination->limit)
->orderBy('date DESC')
->all();
foreach ($data as $k=>$v) {
$result[$v['id']]['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['id']]['replyBody']= [];
$commentIds[] = $v['id'];
}
$result = array_values($result);
$childComments=$sqlaa->from($this->tablename())
->select('replyname,date,content,uid,replyid,beReplyName')
->where(['and', ['status' => 0] , ['in', 'replyid' , $commentIds]])
->orderBy('date DESC')
//->limit(10)
->all();
foreach ($childComments as $v) {
$v['id'] = $v['replyid'];
$v['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['replyid']]['replyBody'][] = $v;
}

return array(array_values($result),$newspagination);
xuzuning 2018-09-21
  • 打赏
  • 举报
回复
你说什么?
$data = json_decode('[{
"id": "308",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714374",
"content": "308",
"uid": "10000"
},
{
"id": "307",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714371",
"content": "307",
"uid": "10000"
},
{
"id": "306",
"ip": "168429768",
"browse": "Firefox 63.0",
"osname": "Windows 10",
"replyname": "\u533f\u540d",
"date": "1536714364",
"content": "306",
"uid": "10000"
}]', 1);

$childComments = json_decode('[{
"replyname": "\u533f\u540d",
"date": "1536714502",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined"
},
{
"replyname": "\u533f\u540d",
"date": "1536714423",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a"
},
{
"replyname": "\u533f\u540d",
"date": "1536714406",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a"
},
{
"replyname": "\u533f\u540d",
"date": "1536714389",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a"
}]', 1);

foreach ($data as $k=>$v) {
$result[$v['id']]['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['id']]['replyBody']= [];
$commentIds[] = $v['id'];
}
foreach ($childComments as $v) {
$v['id'] = $v['replyid'];
$v['date'] = date('Y-m-d H:i:s', $v['date']);
$result[$v['replyid']]['replyBody'][] = $v;
}
$result = array_values($result);
echo json_encode($result, JSON_PRETTY_PRINT);

[
{
"date": "2018-09-12 09:06:14",
"replyBody": [
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:08:22",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined",
"id": "308"
},
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:29",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a",
"id": "308"
}
]
},
{
"date": "2018-09-12 09:06:11",
"replyBody": [
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:46",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a",
"id": "307"
}
]
},
{
"date": "2018-09-12 09:06:04",
"replyBody": [
{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:07:03",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a",
"id": "306"
}
]
}
]
qq_34494805 2018-09-21
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
$result = array_values($result);



额不行呀 变这样了
replyBody 又分离出去了

var arr = [{
"id": "308",
"img": ".\/images\/img.jpg",
"content": "308",
"replyname": "\u533f\u540d",
"beReplyName": "",
"time": "2018-09-12 09:06:14",
"address": "168429768",
"osname": "Windows 10",
"browse": "Firefox 63.0",
"replyBody": []
},
{
"id": "307",
"img": ".\/images\/img.jpg",
"content": "307",
"replyname": "\u533f\u540d",
"beReplyName": "",
"time": "2018-09-12 09:06:11",
"address": "168429768",
"osname": "Windows 10",
"browse": "Firefox 63.0",
"replyBody": []
},
{
"id": "306",
"img": ".\/images\/img.jpg",
"content": "306",
"replyname": "\u533f\u540d",
"beReplyName": "",
"time": "2018-09-12 09:06:04",
"address": "168429768",
"osname": "Windows 10",
"browse": "Firefox 63.0",
"replyBody": []
},
{
"id": "1",
"img": ".\/images\/img.jpg",
"content": "",
"replyname": "",
"beReplyName": "",
"time": "1970-01-01 08:00:00",
"address": "0",
"osname": "",
"browse": "",
"replyBody": []
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:08:22",
"content": "308-2",
"uid": "10000",
"replyid": "308",
"beReplyName": "undefined",
"id": "308"
}]
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:07:03",
"content": "306-1",
"uid": "10000",
"replyid": "306",
"beReplyName": "306a",
"id": "306"
}]
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:46",
"content": "307-1",
"uid": "10000",
"replyid": "307",
"beReplyName": "307a",
"id": "307"
}]
},
{
"replyBody": [{
"replyname": "\u533f\u540d",
"date": "2018-09-12 09:06:29",
"content": "308-1",
"uid": "10000",
"replyid": "308",
"beReplyName": "308a",
"id": "308"
}]
},
{
"replyBody": [{
"replyname": "",
"date": "1970-01-01 08:00:00",
"content": "",
"uid": "0",
"replyid": "306",
"beReplyName": "",
"id": "306"
}]
}];
xuzuning 2018-09-21
  • 打赏
  • 举报
回复
$result = array_values($result);
该课程由付强老师主讲,系统的、全面的、具体的讲解了java入门的知识。可以使初级的学员入门。Java入门Java的历史、Java的版本、Java的优势、软件行业前景Java开发环境搭建、编写Java入门练习虚拟机的运行机制、Java的平台无关性、虚拟机垃圾回收机制基础语法关键字、标识符、Java数据类型分类、基础数据类型、取值范围变量、常量、三种注释、生成doc文档、运算符、表达式if语句、switch语句、嵌套判断for语句、while语句、do-while语句、嵌套循环类和对象面向过程和面向对象的区别类的构成、访问修饰符、对象的内存分配this关键字、按值传递与按引用传递、对象的初始化顺序高级类特性类的继承、父子类的初始化顺序、单继承性方法的覆盖、重载、super关键字、多态、instanceof关键字、强制类型转换、static关键字、final关键字数组和枚举一维数组的应用及内存分配多维数组的应用及内存分配数组的复制、数组的按引用传递排序算法:冒泡、直接选择、插入选择、希尔、快速、归并、堆排序Arrays工具类的应用枚举类型的应用常见类的使用Object类的底层及应用、Objects类String类的底层及应用、正则表达式StringBuffer和StringBuilder的底层及应用Math类的应用、包装类的应用日期类的应用:Date、DateFormat、Calendar、LocalDateTime、Instant、LocalDate、MonthDay、ZonedDateTime、YearMonth、新旧日期转换BigInteger和BingDecimal、DecimalFormatSystem类、Scanner类抽象类和接口抽象类的规则及应用接口的规则及应用默认方法、静态方法、函数式接口、Lambda表达式异常异常的定义异常的处理:抓(try-catch-finally)、抛(throws)异常的分类、自定义异常的应用、throw关键字集合框架集合框架结构:接口、实现类Collection接口的方法、Set接口的方法、List接口的方法、Map接口的方法Array、Linked、Hash、Tree底层实现原理泛型的作用、Collections工具类、历史集合类I/O流Path类的原理及应用、Files类的原理及应用文件字节流FileInputStream的原理及应用对象类、缓冲流、数据流的原理及应用字符流的原理及应用多线程进程与线程的概念、查看线程对象Java内存模型线程的创建与启动:扩展Thread类、实现Runnable接口、实现Callable接口、线程池线程状态的转换:新建、就绪、运行、阻塞、死亡线程的调度:sleep、yield、join、interrupt、wait后台线程、定时任务线程的并发与同步、同步锁、同步块、线程安全的类Lock接口、CAS、volatile修饰符内部类成员内部类、本地内部类的应用匿名内部类的原理及引用、Lambda表达式设计模式基础设计模式概念、框架概念7大设计原则:开闭原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特原则、里氏替换原则、合成复用原则单例模式、工厂模式、模板模式、代理模式、装饰模式、适配器模式、外观模式、策略模式、观察者模式、命令模式、备忘录模式、观察者模式反射反射包Class类的使用反射获取类属性、方法、构造器通过反射创建类对象/通过反射调用方法反射的应用

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧