如何使用 PHP 从 HEREDOC 文本创建数组赋值?

How can I create an array assignment from HEREDOC text using PHP?

我有一个字符串列表需要转换成数组赋值

例如,假设我有一组这样的行:

   ctools_export_ui_list_form
   masquerade_block_1
   switchtheme_switch_form
   backup_migrate_ui_manual_backup_load_profile_form
   backup_migrate_ui_manual_backup_form

我需要像这样创建一个变量赋值:

$conf['journal_form_ids'] = array(
   'ctools_export_ui_list_form' => 0,
   'masquerade_block_1' => 0,
   'switchtheme_switch_form' => 0,
   'backup_migrate_ui_manual_backup_load_profile_form' => 0,
   'backup_migrate_ui_manual_backup_form' => 0,
);

我的想法是使用一些 HEREDOC 语法:

 $str = <<<EOD
 ctools_export_ui_list_form
 masquerade_block_1
 switchtheme_switch_form
 backup_migrate_ui_manual_backup_load_profile_form
 backup_migrate_ui_manual_backup_form
EOD

并使用它来创建变量赋值文本和 eval 它,或其他一些合适的方法。

是否有内置例程使其优雅?

不确定 HEREDOC 到底与什么有关,这是我的评论版本:

<?php


$foo="ctools_export_ui_list_form
   masquerade_block_1
   switchtheme_switch_form
   backup_migrate_ui_manual_backup_load_profile_form
   backup_migrate_ui_manual_backup_form";

//make the array
$x=explode(PHP_EOL,$foo);
//swap the keys and values
$x=array_flip($x);
//set the value of all to 1
$x = array_fill_keys(array_keys($x), 1);
print_r($x);