mysql表中的javascript多维数组-不知道那种对象对象是啥

Posted

技术标签:

【中文标题】mysql表中的javascript多维数组-不知道那种对象对象是啥【英文标题】:javascript multidimensional array out of mysql table - dont know whats that kind of Object Objectmysql表中的javascript多维数组-不知道那种对象对象是什么 【发布时间】:2017-06-24 10:54:06 【问题描述】:

我正在尝试从 mysql 表中获取我的数据并在 javascript 中处理这些数据。 我是 php 的家,与 javascript 有很多不同 :( 我确实认为 php 存在我的问题,需要了解 javascript :)

好的,问题来了: 我从我的 php 脚本中以 thsi 格式从表中获取数据:used

while($Search=mysql_fetch_assoc($abfrage))
  $data[] = $Search;
 

 echo json_encode( $data );

并获取此数据:

Array ( [0] => Array ( [id] => 1 [date] => 2017-12-01 [time] => 00:00:00  [active] => 1 ) [1] => Array ( [id] => 2 [date] => 2017-12-02 [time] => 00:00:00 [active] => 1 ) [2] => Array ( [id] => 3 [date] => 2017-12-08 [time] => 00:00:00 [active] => 1 ) [3] => Array ( [id] => 4 [date] => 2017-12-09 [time] => 00:00:00 [active] => 1 ) [4] => Array ( [id] => 5 [date] => 2017-12-15 [time] => 00:00:00 [active] => 1 ) [5] => Array ( [id] => 6 [date] => 2017-12-16 [time] => 00:00:00 [active] => 1 ) [6] => Array ( [id] => 7 [date] => 2017-12-22 [time] => 20:00:00 [active] => 1 ) )

所以我使用javascript来获取数组或对象或其他任何东西。我真的不太了解对象-.

var myArr = JSON.parse

从这些数据中得到一个数组:

[[object Object] 
   active: "1",
   date: "2017-12-01",
   id: "1",
  time: "00:00:00"
]

这是做什么的 [[对象对象] 意思是这是一个数组还是一个对象,我该如何使用它?

我的目标是查看来自数据库的数据中是否有日期,如果是,请检查是否还有时间设置为该日期。

我在 jsbin 做了一个示例进行测试,但我不知道如何继续接收我想要的数据: http://jsbin.com/wariparoce/edit?html,js,console,output

感谢您的所有时间和耐心:)

史蒂夫

【问题讨论】:

【参考方案1】:

非常感谢你们俩成功了 - 我在“结果”(你可以在 jsbin 中看到)中跑来跑去,我后来创建了这个东西,以确定给定的日期是否在数组中 - 并且在那里结果 [0]['time'] 没有得到我期望的数据 ... 非常感谢你们对你们俩的快速而完美的帮助!

【讨论】:

【参考方案2】:

也许这会有所帮助。解码 JSON 字符串后,您有一个数组 myArr。只需直接访问项目:

var myArr = JSON.parse('[
    "id":"1","date":"2017-12-01","time":"00:00:00","active":"1",
    "id":"2","date":"2017-12-02","time":"00:00:00","active":"1",
    "id":"3","date":"2017-12-08","time":"00:00:00","active":"1",
    "id":"4","date":"2017-12-09","time":"00:00:00","active":"1",
    "id":"5","date":"2017-12-15","time":"00:00:00","active":"1",
    "id":"6","date":"2017-12-16","time":"00:00:00","active":"1",
    "id":"7","date":"2017-12-22","time":"20:00:00","active":"1"
]');

var gew_datum="2017-12-08";

for(var i = 0;i < myArr.length;i++) 
  if(gew_datum == myArr[i]['date'])
    console.log(i + ") date: " + myArr[i]["date"] + ", time: " + myArr[i]["time"] + ", active: " + myArr[i]["active"]);
  

【讨论】:

【参考方案3】:

尝试访问

 myArr.[0].active;
 myArr.[0].date;
 .....

这应该返回字段活动的idenx 0中的元素,日期,,

这意味着你获得了一个对象数组(基于 0 索引),其结构类似于 PHP 关联数组 .. 其中 PHP 中的键是 JSOn 中的键名)

【讨论】:

以上是关于mysql表中的javascript多维数组-不知道那种对象对象是啥的主要内容,如果未能解决你的问题,请参考以下文章

我想在我的表中获取多维数组

从 JavaScript 中的多维数组中获取数组值

JavaScript中的多维数组问题

对多维数组javascript中的所有整数求和

Javascript中的深平面多维数组[重复]

从javascript中的多维数组中删除一列