php - PHP数组循环 - 无法访问元素
问题描述
我有一个数组。它来自这个查询:
$table_array=array();
$table_array = $mydb->get_results($mydb->prepare("SELECT sid, stitle FROM tablename"));
我成功检索数据。控制台显示通过 ajax(成功函数)返回的 json_encode:
function align_surveys(){
jQuery.ajax({
type: 'POST',
url: MyAjax.ajaxurl,
data: {"action": "align_sids"},
success:
function(data){
console.log('data: '+ data)
}
});
}
"data:":[{"sid":"525331","stitle":"First Title"},{"sid":"367775","stitle":"Second Title"}]
但是,当我运行 foreach 循环时,当我尝试访问它的元素时会收到 500 错误。
这个错误:
foreach($table_array as $row){
$s_ids[] = $row[0];
}
而且,这个错误:
foreach($table_array as $row){
$s_ids[] = $row['sid'];
}
gettype告诉我这实际上是一个数组。但是,每当我引用数组元素时,我都会出错。我无法解决它。这与方括号内的额外花括号有关吗?任何人,请指出我正确的方向。已经好几个小时了......
更新: print_r 给我看这个:
Array ( [0] => Array ( [surveyls_survey_id] => 525331 [0] => 525331 [surveyls_title] => New Survey [1] => New Survey ) [1] => Array ( [surveyls_survey_id] => 367775 [0] => 367775 [surveyls_title] => Second Survey [1] => Second Survey ) )
在我看来,这就像一个数组数组,其中键实际上是值......不知道这是我得到的结果的方式或原因。
解决方案
我解决了。我必须对数组进行 json_encode,以便有效地解析它。感谢您的贡献。
推荐阅读
- php - MySQL 导出到 Excel 写入整个 PHP 文件
- machine-learning - MCTS 如何与“精确线”配合使用
- c# - Gremlin.Net 一次遍历获取边 Id、InV、OutV 和属性
- html - 在一行上设置样式而不更改网站上的所有行
- react-native - React Native 的核心框架如何部署到应用程序使用的设备上?
- r - 使用 ggplot2 构建箱线图
- angular - 需要使用 Angular 5 服务警告用户页面到期的解决方案吗?
- javascript - 使用 window.location.replace 后如何防止页面刷新
- java - 如何减少 Java 中的振幅数组大小?
- postgresql - 哪些命令不能在事务块中执行?