PHP更改数组值以创建新数组

3

我是如何从数据库获取数组的:

$sql = "SELECT * FROM table_name";
$query = mysqli_query($conn, $sql);

$db_array = array();
// start fetch for words
if (mysqli_num_rows($query) > 0){
    while ($row = mysqli_fetch_assoc($query)){
        $db_array[] = $row;
    }
}

我的数组长这样:

Array
(
    [cat cute] => animal#cute animal
    [cat women] => film
)

如何在所有值上添加“{”和“}”? 我希望能得到像这样的新数组:
Array
(
    [cat cute] => {animal#cute animal}
    [cat women] => {film}
)

对我来说很难,因为我是PHP开发的新手。


这个语法看起来不太像PHP。 - IS4
你能告诉我为什么需要在值周围加上 { 和 } 吗?也许你正在使用模板引擎或 JS 框架? - Itsmeromka
@Nerfair 我必须处理同义词。 - danul
2个回答

3

试试这个:

$arr =  array
(
    'cat cute' => 'animal#cute animal',
    'cat women' => 'film'
);
array_walk($arr, function(&$item){
   $item = '{'.$item.'}'; 
});
print_r($arr);

这里是array_walk()的链接。


2

既然您想要一个新的数组,请尝试以下方法:

<?php
array_map(function($value)
{
    return '{' . $value . '}';
}, $arr);

array_walk() 函数在 rahul_m 的答案中会修改您的数组,而 array_map() 则会创建一个新的数组。


感谢您根据我的问题详细地回答。 - danul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接