0

我有一个动态数组

Array
(
[company_name] => a
[address] => b
[country_id] => 1
[email] => c@c.com
[currency_id] => 1
)

我想创建一个索引变量,如:

`$var = "company_name,address,country_id,email,currency_id";`

和值变量,如:

$value = "a,b,1,c@c.com,1";

请记住,数组索引和值不固定。提前致谢。

4

3 回答 3

4

你可以试试这个。

$var = implode(',', array_keys($myArray));

$value = implode(',', array_values($myArray));

$myArray您在问题中显示的数组在哪里。

于 2013-05-19T06:21:39.367 回答
2

用途array_keys()array_values()功能。


考虑你有一个这样的数组:

$arr = array(
    'company_name' => 'a',
    'address' => 'b',
    'country_id' => 1,
    'email' => 'c@c.com',
    'currency_id' => 1
);

使用array_keys()函数获取所有键:

$keys = array_keys($arr);
print_r($keys);

// output
// Array
// (
//     [0] => company_name
//     [1] => address
//     [2] => country_id
//     [3] => email
//     [4] => currency_id
// )

然后您可以使用implode将数组转换为字符串:

$k = implode($keys, ',');
echo $k;
// company_name,address,country_id,email,currency_id

对于这样的值,我们使用array_values()函数:

$vals = array_values($arr);
print_r($vals);

// output
// Array
// (
//     [0] => a
//     [1] => b
//     [2] => 1
//     [3] => c@c.com
//     [4] => 1
// )

然后内爆它:

$v = implode($vals, ',');
echo $v;
// a,b,1,c@c.com,1
于 2013-05-19T06:21:37.607 回答
1

你是这个意思吗?

$keys=implode(',',array_keys($a));
$vals=implode(',',array_values($a));
于 2013-05-19T06:23:47.373 回答