2016-05-05 2 views
-2

как преобразовать массив строк Javascript в PHP, он будет обрабатываться в сервере не на стороне клиентаПреобразование Javascript массив PHP массив

<?php 
$str = 'var str_array = ["aa", "bb"]'; 
$str = str_replace("var ", '$', $str); 
eval($str); 
print_r($str_array); 
+0

но JS является стороне клиента после преобразования его не 'print' массива с помощью' print_r' –

+1

Возможный дубликат [как преобразовать массив javascript в php-массив] (http://stackoverflow.com/questions/6330830/how-to-convert-javascript-array-to-php-array) –

+0

Что вы пытаетесь сделать? –

ответ

1

Eval() должен заканчиваться ;

<?php 
$str = 'var str_array = ["aa", "bb"]'; 
$str = str_replace("var ", '$', $str); 
eval($str.";"); 
print_r($str_array); 

Выход:

Array ([0] => aa [1] => bb) 

Но я не знаю, почему вы выбираете это.

+1

благодарит за его работу, а также за то, что он ниспослан без решения. скоро примут этот ответ. – uingtea

1

Опубликовать свой массив javascript как строку JSON через ajax и обработать его на стороне сервера.

Javascript

var str_array = ["aa", "bb"]; 
var request = $.ajax({ 
    url: "test.php", 
    method: "POST", 
    data: { myData : JSON.stringify(str_array) }, 
    dataType: "html" 
}); 
request.done(function(msg) { 
    // ajax response 
}); 
request.fail(function(jqXHR, textStatus) { 
    alert("Request failed: " + textStatus); 
}); 

PHP (test.php)

$json = $_POST['myData']; 
$myDataArray = json_decode($json,true); 
print_r($myDataArray); 
Смежные вопросы