У меня есть этот JQuery код, который добавляет в массив внутри $ каждый цикл:PHP массив разбора отправил с JQuery
new_edit = {};
new_edit['file_id'] = $file_id;
new_edit['file_realname'] = $new_file_realname;
new_edit['file_folder'] = $new_file_folder;
new_file_edits.push(JSON.stringify(new_edit));
JQuery new_file_edits выходной массив
{"file_id":"1857","file_realname":"dddd[1].mp4","file_folder":"/"},
{"file_id":"1856","file_realname":"aaaa[1].jpg","file_folder":"/"},
{"file_id":"1855","file_realname":"ssss[1].jpg","file_folder":"/"}
и им пытаясь опубликовать его в call.php следующим образом:
$.ajax({
type: "POST",
url: "/call.php",
data: "edit_files="+ arrayVarHere,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function(msg){
alert(+msg);
}
});
В PHP файл call.php у меня есть этот код:
if(isset($_POST['edit_files'])){
$edit_array = $_POST['edit_files'];
$file_array = array();
foreach($edit_array as $key => $value){
$file_array[$key] = $value;
}
print_r($file_array);
die();
}
, но я получаю эту ошибку, и я не могу понять, как это исправить, был прибегая к помощи его на некоторое время теперь ...
ошибка:
Warning: Invalid argument supplied for foreach() in /home2/dddd/public_html/call.php on line 237
Line 237: foreach($edit_array as $key => $value){
Любая помощь очень ценится!
-Morten
EDIT 1: Я изменил $edit_array = $_POST['edit_files'];
к $edit_array = array($_POST['edit_files']);
И теперь он выдает:
{"file_id":"1857","file_realname":"dddd[1].mp4","file_folder":"/"},
{"file_id":"1856","file_realname":"aaaa[1].jpg","file_folder":"/"},
{"file_id":"1855","file_realname":"ssss[1].jpg","file_folder":"/"}
Как я иду отсюда с foreach($edit_array as $key => $value){
части?
Edit 2: я построю свою arrayVarHere так:
$.each($selected_files_array, function(index, value){
//i get $file_id, $new_file_realname and $new_file_folder with some code here
new_edit = {};
new_edit['file_id'] = $file_id;
new_edit['file_realname'] = $new_file_realname;
new_edit['file_folder'] = $new_file_folder;
arrayVarHere.push(JSON.stringify(new_edit));
});
Возможный дубликат [PHP Warning: недопустимый аргумент, предоставленный foreach()] (http://stackoverflow.com/questions/6572061/php-warning-invalid-argument-supplied-for-foreach) – Thamilan
Является ли $ edit_array массивом? – Li357
Проверьте это тоже: http://stackoverflow.com/q/2630013/5447994 – Thamilan