我有一个像
这样的动态数组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";
记住数组索引和值不固定。 提前谢谢。
答案 0 :(得分:4)
你可以试试这个。
$var = implode(',', array_keys($myArray));
$value = implode(',', array_values($myArray));
$myArray
是您在问题中显示的数组。
答案 1 :(得分: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
答案 2 :(得分:1)
这是你的意思吗?
$keys=implode(',',array_keys($a));
$vals=implode(',',array_values($a));