[php] PHP 배열을 자바 스크립트로 변환

이와 같은 형식으로 PHP 배열을 변환하는 방법

Array
(
    [0] => 001-1234567
    [1] => 1234567
    [2] => 12345678
    [3] => 12345678
    [4] => 12345678
    [5] => AP1W3242
    [6] => AP7X1234
    [7] => AS1234
    [8] => MH9Z2324
    [9] => MX1234
    [10] => TN1A3242
    [11] => ZZ1234
)

아래 형식의 Javascript 배열에?

var cities = [
    "Aberdeen",
    "Ada",
    "Adamsville",
    "Addyston",
    "Adelphi",
    "Adena",
    "Adrian",
    "Akron",
    "Albany"
];



답변

Spudley의 대답은 괜찮습니다 .

보안 공지 : 다음은 더 이상 필요하지 않습니다.

PHP 5.2가 없다면 다음과 같이 사용할 수 있습니다 :

function js_str($s)
{
    return '"' . addcslashes($s, "\0..\37\"\\") . '"';
}

function js_array($array)
{
    $temp = array_map('js_str', $array);
    return '[' . implode(',', $temp) . ']';
}

echo 'var cities = ', js_array($php_cities_array), ';';


답변

PHP와 JS에 대해 제공 한 두 배열은 서로 관련이 없으며 두 언어로 배열이 어떻게 보이는지에 대한 예일 뿐이라고 가정하겠습니다. 분명히 당신은 문자와 숫자의 순서를 도시 이름으로 변환 할 수 없을 것입니다.

PHP는 PHP 배열을 Javascript 코드로 변환하는 기능을 제공합니다 json_encode(). (기술적으로 JSON 형식입니다 .JSON은 JavaScript 객체 표기법을 나타냅니다)

다음과 같이 사용하십시오.

<script type='text/javascript'>
<?php
$php_array = array('abc','def','ghi');
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>

자세한 내용은 위에 링크 된 매뉴얼 페이지를 참조하십시오.

json_encode()당신이 이전 버전을 사용하고 있으므로 경우에만 PHP 5.2에서 사용할 수있는 최대입니다, 당신은 사용해야합니다 기존의 PHP는 매뉴얼 페이지도 그것을 필요로 사람들에 의해 작성된 함수와 주석이 포함 -. (단, PHP 5.2 이전 버전을 사용하는 경우 최대한 빨리 업그레이드해야합니다.)


답변

멍청하고 간단한 :

var js_array = [<?php echo '"'.implode('","', $php_array).'"' ?>];


답변

출력은 json_encode자바 스크립트 리터럴 이므로 parseJSON을 호출 할 필요가 없습니다 . js 변수에 할당하십시오.

<script type="text/javascript">
    //Assign php generated json to JavaScript variable
    var tempArray = <?php echo json_encode($php_array); ?>;

   //You will be able to access the properties as 
    alert(tempArray[0].Key);
</script>


답변

PHP의 json_encode함수를 사용하여 PHP 배열을 자바 스크립트로 변환 할 수 있습니다

<?php $phpArray = array(
          0 => 001-1234567,
          1 => 1234567,
          2 => 12345678,
          3 => 12345678,
          4 => 12345678,
          5 => 'AP1W3242',
          6 => 'AP7X1234',
          7 => 'AS1234',
          8 => 'MH9Z2324',
          9 => 'MX1234',
          10 => 'TN1A3242',
          11 => 'ZZ1234'
    )
?>
<script type="text/javascript">

    var jArray= <?php echo json_encode($phpArray ); ?>;

    for(var i=0;i<12;i++){
        alert(jArray[i]);
    }

 </script>


답변

Javascript에서 PHP 배열로 작업하는 가장 빠르고 쉬운 방법은 다음과 같습니다.

PHP :

$php_arr = array('a','b','c','d');

자바 스크립트 :

//this gives me a JSON object
js_arr = '<?php echo JSON_encode($php_arr);?>';


//Depending on what I use it for I sometimes parse the json so I can work with a straight forward array:
js_arr = JSON.parse('<?php echo JSON_encode($php_arr);?>');


답변

너무 간단합니다 …!

이 방법을 사용하십시오 :

<?php echo json_encode($your_array); ?>; 

라 라벨 블레이드 {{}}에서 다음 방법을 사용하십시오.

{{ str_replace('&quot;', '', json_encode($your_array)) }} 

관련 및 관련되지 않은 어레이 작업.