1

我有这个 PHP 数组:

$teams = array(
    "img1" => "img/img1.jpg",
    "img2" => "img/img2.jpg",
    "img3" => "img/img3.jpg",
    ...
);

有没有办法在Javascript中获得相同的数组?同一个数组我的意思是一个数组key => values

4

5 回答 5

4

javascript 中没有关联数组,但您可以使用带有 key.value 对的对象。

var obj = {};
obj.myNewKey = myNewValue;

您还可以通过以下方式引用这些对象属性:

obj['myNewKey'] = myNewValue;

请记住,虽然它看起来像一个关联数组,但它实际上是一个对象。

还有这种方式:

var obj = {
  myNewKey:"myNewValue",
  "myOtherKey":"myOtherValue"
};
于 2013-10-26T15:52:40.103 回答
1

你的意思是echo "var teams = ".json_encode($teams);

于 2013-10-26T15:59:53.067 回答
0

不,数组是按数字索引的。

然而,对象允许字符串键值,类似于关联数组(但不完全是 - 它是无序的并且没有任何 Array 方法)。

var teams = {
    "img1":"img/img1.jpg",
    "img2":"img/img2.jpg",
    "img3":"img/img3.jpg"
};
于 2013-10-26T15:53:20.497 回答
0
var a={"key":"value","key2":"value2"}
于 2013-10-26T15:55:00.753 回答
0

如果您希望将 php 中的确切数组传输到 html 中的脚本标记,您可以通过以下方式将其作为 json 字符串传递:

<html>
    <head>
        <script>
         // some js code here
         var teams = <?php echo json_encode($teams); ?>;
         // some other js code
        </script>
    </head>
    <body>
        page html content here
    </body>
<html>
于 2013-10-26T15:59:20.497 回答