Textarea使用php排列到数组

San*_*anj 3 php arrays

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

Name:Jay
Email:jayviru@demo.com
Contact:9876541230
Run Code Online (Sandbox Code Playgroud)

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

Array
(
[Name] =>Jay
[Email] =>jayviru@demo.com
[Contact] =>9876541230
)
Run Code Online (Sandbox Code Playgroud)

我在下面试过,但不会起作用: -

$test=explode("<br />", $text); 
print_r($test);
Run Code Online (Sandbox Code Playgroud)

Sha*_*lam 6

您可以使用内置的PHP尝试此代码,PHP_EOL但数组索引几乎没有问题,所以我修复它

<?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);
Run Code Online (Sandbox Code Playgroud)

输出是:

Array
(
    [Name] => Jay
    [Email] => jayviru@demo.com
    [Contact] => 9876541230
)
Run Code Online (Sandbox Code Playgroud)


Ana*_*Die 5

最简单的方法:

$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);
Run Code Online (Sandbox Code Playgroud)

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