我有一个像这样的字符串 -
$string = 'Apple, Orange, Lemone';
我想将此字符串设为::
$array = array('apple'=>'Apple', 'orang'=>'Orange', 'lemone'=>'Lemone');
如何实现这个
我使用了像这样的爆炸功能
$string = explode(',', $string );
给了我这个 - 数组([0] => apple [1] => orang)
有人说这个问题与这个问题的重复:How can I split a comma delimited string into an array in PHP?
这个问题没有解决我的问题,我已经达到了这个问题的答案,请阅读我的问题。我需要改变结果arry的关键价值。见
Array
(
[0] => 9
[1] => admin@example.com
[2] => 8
)
喜欢这个
Array
(
[9] => 9
[admin@example.com] => admin@example.com
[8] => 8
)
答案 0 :(得分:3)
您可以尝试:
$string = 'Apple, Orange, Lemone';
$string = str_replace(' ', '', $string);
$explode = explode(',',$string);
$res = array_combine($explode,$explode);
echo '<pre>';
print_r($res);
echo '</pre>';
或者,如果您需要使用小写键来使用以下结果:
echo '<pre>';
print_r(array_change_key_case($res,CASE_LOWER));
echo '</pre>';
答案 1 :(得分:3)
<?php
$string = 'Apple, Orange, Lemone'; // your string having space after each value
$string =str_replace(' ', '', $string); // removing blank spaces
$array = explode(',', $string );
$final_array = array_combine($array, $array);
$final_array = array_change_key_case($final_array, CASE_LOWER); // Converting all the keys to lower case based on your requiment
echo '<pre>';
print_r($final_array);
?>
答案 2 :(得分:3)
您可以使用数组函数,例如array_combine和array_values
members
答案 3 :(得分:2)
<?php
$string = 'Apple, Orange, Lemone';
$array = explode(', ', $string);
print_r($array);
输出
Array
(
[0] => Apple
[1] => Orange
[2] => Lemone
)
现在
$ar = array();
foreach ($array as $value) {
$ar[$value] = $value;
}
print_r($ar);
您的欲望输出:
Array
(
[Apple] => Apple
[Orange] => Orange
[Lemone] => Lemone
)
答案 4 :(得分:1)
$valuesInArrayWithSpace = explode("," $string);
$finalArray = [];
foreach ($ValuesInArrayWitchSpace as $singleItem) {
$finalArray[trim(strtolower($singleItem))] = trim($singleItem);
}
答案 5 :(得分:1)
使用array_flip将值更改为键并使用array_combine
<?php
$string = 'Apple, Orange, Lemone';
$array = explode(', ', $string);
$new_array =array_flip($array);
$final_array = array_combine($new_array,$array)
print_r($final_array );
?>
答案 6 :(得分:1)
或者...
$csvdata = str_getcsv('Apple,Orange,Lemone');
$arr = [];
foreach($csvdata as $a) {
$arr[strtolower(trim($a))] = $a;
}
print_r($arr);
答案 7 :(得分:1)
通过这种方式,您可以获得所需:
$lowerString = strtolower($string);
$values = explode(', ', $string);
$keys = explode(', ', $lowerString);
$array = array_combine($keys, $values);
print_r($array);