3

ニュースレターを書き直しています。

次のようなすべてのニュースレター フィールドのテーブルがあります。

field_uid | field_name | field_content | field_letter_id 

fx 列field_nameは value を持つことができletter_headline 、列は value をfield_content持つことができますMy headline

私がこれを行うとき:

$fields = $this->db->dbh->query("SELECT field_name, field_content FROM newsletter_fields WHERE field_letter_uid = '". $letter_id ."'"); 

foreach($fields->fetchAll(PDO::FETCH_ASSOC) as $key) {
   print_r($key);
}

それは私にこれを正しく与えます:

Array ( [field_name] => letter_image0 [field_content] => image.jpg ) 
Array ( [field_name] => letter_headline [field_content] => My headline ) 
Array ( [field_name] => letter_headline_size [field_content] => 12 ) 
Array ( [field_name] => letter_sub_headline [field_content] => My subheadline ) 
Array ( [field_name] => letter_sub_headline_size [field_content] => 10 ) 
Array ( [field_name] => letter_content [field_content] => Letter content ) 
Array ( [field_name] => letter_link [field_content] => www.example.com )
Array ( [field_name] => letter_link_txt [field_content] => Example )

私が欲しいのは、このような配列を構築することです

$field["letter_image"] = "image.jpg";
$field["letter_headline"] = "My headline"

そして、次のようにコンテンツを出力できます。

echo $field["letter_image"];

しかし、フィールド配列を設定する方法がわかりません。

4

6 に答える 6

16
$result = array_combine(array_column($data, 'field_name'), $data);
于 2018-03-07T08:06:03.573 に答える