Textarea使用php排列到数组

时间:2017-08-17 10:12:41

标签: php arrays

我有一个包含textarea值的php变量,如下所示。

Name:Jay
Email:jayviru@demo.com
Contact:9876541230

现在我希望这些行在数组中如下所示。

Array
(
[Name] =>Jay
[Email] =>jayviru@demo.com
[Contact] =>9876541230
)

我在下面试过,但没有工作: -

$test=explode("<br />", $text); 
print_r($test);

4 个答案:

答案 0 :(得分:6)

你可以使用内置PHP_EOL的php尝试这段代码但是数组索引几乎没有问题所以我修复了它

<?php
$text = 'Name:Jay
Email:jayviru@demo.com
Contact:9876541230';
$array_data = explode(PHP_EOL, $text);

$final_data = array();
foreach ($array_data as $data){
    $format_data = explode(':',$data);
    $final_data[trim($format_data[0])] = trim($format_data[1]);
}
echo "<pre>";
print_r($final_data);

,输出为:

Array
(
    [Name] => Jay
    [Email] => jayviru@demo.com
    [Contact] => 9876541230
)

答案 1 :(得分:3)

最简单的方法: -

$textarea_array = array_map('trim',explode("\n", $textarea_value)); // to remove extra spaces from each value of array
print_r($textarea_array);

$final_array = array();
foreach($textarea_array as $textarea_arr){
    $exploded_array = explode(':',$textarea_arr);
    $final_array[trim($exploded_array[0])] = trim($exploded_array[1]);

}

print_r($final_array);

输出: - https://eval.in/846556

答案 2 :(得分:0)

这对我也有用。

$convert_to_array = explode('<br/>', $my_string); 
for($i=0; $i < count($convert_to_array ); $i++)
{ 
$key_value = explode(':', $convert_to_array [$i]); 
$end_array[$key_value [0]] = $key_value [1];
} 
print_r($end_array); ?>

答案 3 :(得分:0)

我认为你需要创建3个输入:text,并解析它们,因为如果你在文本区写下这个值可能会出错,当写密钥时。否则将一个字符串拆分成一个数组,并在创建新数组后,其中key将为奇数值,值将为偶数值旧数组