转换数组键中字符串的一部分


Transform part of string in Array Key

好的,我在填写表单时遇到了一些麻烦。表单接收如下所示的数组:

Array (
[0] => abajur-grande } abajur grande
[1] => lustre-bem-grande } lustre bem grande
)

这个信息是由表单的这个字段发送的:

<input type="hidden" name="campo[]" value="<?php echo $urlprod;?> } <?php echo $nome;?><br />" />

那么,我要做的就是变换数组键中每个值的第一部分,像这样,并删除"}":

Array (
[abajur-grande] => abajur grande
[lustre-bem-grande] => lustre bem grande
) 

有人有主意吗?

我会使用foreach-loop来解决这个问题。

$arr = array(
    'abajur-grande } abajur grande',
    'lustre-bem-grande } lustre bem grande'
);
$newArr = array();
foreach($arr as $value) {
    $parts = explode(' } ', $value);
    if(count($parts) > 1) {
        $newArr[$parts[0]] = $parts[1];
    }
}
print_r($newArr);

您需要循环遍历数组并获取每个值,根据}拆分它,并将第一部分作为键,第二部分作为值分配给新数组。

$oldArr = array("abajur-grande } abajur grande",
                "lustre-bem-grande } lustre bem grande");   
$newArr = array();
foreach($oldArr as $key) //loop old array and retrieve each element inside $key
{
    //split $key into two pieces by "}"    
    $split = explode("}",$key); 
    //assign the first piece as key and second as value into a new array
    $newArr[$split[0]]= $split[1]; 
}
print_r($newArr);