使用两个表列以关联数组形式获取 PDO 结果[重复]

问题描述 投票:0回答:2

我正在尝试将数据库中的数据存储在数组中。

打印数组后,我需要这样的东西:

Array ( [ABBA] => ?search=ABBA [ACDC] => ?search=ACDC [Ace of Spades] => ?search=AceOfSpades)

但目前,我有这个:

Array ( [url] => ?search=ABBA [title] => ABBA ) Array ( [idtitle] => ?search=ACDC [title] => ACDC  ) Array ( [idtitle] => ?search=AceOfSpades [title] => Ace of Spades ) 

这是我获取数据并将其存储到数组中的代码:

$key = $_POST['latestQuery'];

$requete = $bdd->prepare('SELECT url, title FROM articles WHERE title LIKE :key LIMIT 10');
$requete->execute(array('key' => '%'.$key.'%'));

$result_array[] = array();

foreach($requete->fetchAll(PDO::FETCH_ASSOC) as $search)
{
  print_r($result_array[$search['title']] = $search);
}

这是我的表格结构:

url | title

$search=ACDC | ACDC

你认为有办法格式化我的数组吗?

php arrays pdo associative-array fetchall
2个回答
1
投票

print_r
中删除
foreach

$result_array = array();
foreach($requete->fetchAll(PDO::FETCH_ASSOC) as $search)
{
    $result_array[$search['title']] = $search['url'];
}
print_r($result_array);

1
投票

你可以试试这个:

// testing array
$yourArray = array(
    array(
        'url'=>'?search=ABBA',
        'title'=>'ABBA',
        ),
    array(
        'url'=>'?search=BABA',
        'title'=>'BABA',
        ),
    array(
        'url'=>'?search=CBAA',
        'title'=>'CBAA',
        ),
    );

// solution
$myArr = array();
foreach ($yourArray as $key => $value) {
    $myArr[$value['title']] = $value['url'];
}

echo "<pre>";
print_r($myArr);

结果是:

Array
(
    [ABBA] => ?search=ABBA
    [BABA] => ?search=BABA
    [CBAA] => ?search=CBAA
)
© www.soinside.com 2019 - 2024. All rights reserved.