将PHP多维数组转换为JavaScript表示法

将PHP多维数组转换为JavaScript表示法,javascript,php,json,Javascript,Php,Json,我正在寻找一个高效、干净的函数来将PHP多维数组转换为javascript符号定义。例如: $settings = array( "customer" => array( "first_name" => "John", "last_name" => "Doe", "company" => array( "name" => "Foobar Inc", "addres

我正在寻找一个高效、干净的函数来将PHP多维数组转换为javascript符号定义。例如:

$settings = array(
    "customer" => array(
        "first_name" => "John",
        "last_name" => "Doe",
        "company" => array(
            "name" => "Foobar Inc",
            "address" => "123 Main Street"
        )
    )
)
应转化为:

echo 'window.customer.first_name = "John"';
echo 'window.customer.last_name = "Doe"';
echo 'window.customer.company.name = "Foobar Inc"';
echo 'window.customer.company.address = "123 Main Street"';
只用

示例:

$settings = array(
    "customer" => array(
        "first_name" => "John",
        "last_name" => "Doe",
        "company" => array(
            "name" => "Foobar Inc",
            "address" => "123 Main Street"
        )
    )
);

echo json_encode($settings);
输出

{"customer":{"first_name":"John","last_name":"Doe","company":{"name":"Foobar Inc","address":"123 Main Street"}}}
只用

示例:

$settings = array(
    "customer" => array(
        "first_name" => "John",
        "last_name" => "Doe",
        "company" => array(
            "name" => "Foobar Inc",
            "address" => "123 Main Street"
        )
    )
);

echo json_encode($settings);
输出

{"customer":{"first_name":"John","last_name":"Doe","company":{"name":"Foobar Inc","address":"123 Main Street"}}}

看起来您正在尝试生成一个.ini文件。我想说,您可以编写一个简单的递归函数,给定一个用作属性名开头的基字符串,然后为其值生成一行输出-或者一系列行,如果值是数组,则递归调用自身


这里给出了另一种方法:

看起来您正在尝试生成一个.ini文件。我想说,您可以编写一个简单的递归函数,给定一个用作属性名开头的基字符串,然后为其值生成一行输出-或者一系列行,如果值是数组,则递归调用自身


这里给出了另一种方法:

您是否尝试过搜索此方法?请参阅更新,它没有
json_encode()
那么简单。您能否解释一下为什么此方法比
json_encode
更为必要?您尝试的是一个糟糕的想法,毫无意义。您尝试过搜索此方法吗?请参阅更新,它不像
json_encode()
那么简单。你能再解释一下为什么这种方法比
json_encode
更重要吗?你想做的是一个糟糕的想法,毫无意义。@justin我想你会发现它的工作原理是:
var somevar=;警报(somevar.customer.first_name)
@justin我想你会发现它的工作原理是:
var-somevar=;警报(somevar.customer.first_name)