gpt4 book ai didi

php - 为什么这个 PHP foreach 循环中的 $value 是一个数组?

转载 作者:可可西里 更新时间:2023-11-01 00:59:16 26 4
gpt4 key购买 nike

在我的 jQuery 代码中,我正在创建一个这样的对象:

var fields = [
['title','New Title'],
['description', 'New Description'],
['stuff', ['one','two','three']]
];
var objectsArray=[
{
fields:fields
}
];

var saveObject = {
command: 'test',
callback:'testResopnse',
objects: objectsArray
}

然后我通过 ajax 将其发送到 PHP 页面,如下所示:

saveDataAsParseObjects(saveObject)

function saveDataAsParseObjects(saveObj){
$.ajax({
type: "POST",
dataType: "json",
url: "php/parseFunctions.php",
data: {data:saveObj},
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
};

在我的 PHP 页面中,我这样做:

$data= $_POST['data'];

if($data['command'] == 'test'){
testStuff($data);
}
function testStuff($data){
$objects = $data['objects'];
foreach($objects as $object){
$fields = $object['fields'];
foreach($fields as $column => $value){

echo is_array($value) ? 'Array, ' : 'not an Array, ';
}
}
}

考虑到我在 jQuery 页面上的原始 fields 数组,我希望 testStuff() 返回:

'不是数组,不是数组,数组'

但它返回:

'数组,数组,数组'

为什么 $value 是这个 foreach 循环中的一个数组,而我希望它是一个字符串?

foreach($fields as $column => $value)

最佳答案

您正在大多数嵌套的 foreach 中迭代此集合:

var fields = [
['title','New Title'],
['description', 'New Description'],
['stuff', ['one','two','three']]
];

所以每个 $value 也是一个数组,例如['标题','新标题']。您应该再迭代一次或将字段更改为对象,如下所示:

var fields = {
title: 'New Title',
description: 'New Description',
stuff: ['one','two','three']
};

关于php - 为什么这个 PHP foreach 循环中的 $value 是一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com