qwe*_*001 3 php twig codeigniter-3
我想获取数组中的键名。
首先,我的管理控制器是这样写的。
class Admin_Controller extends MY_Controller
{
const FLASHDATA_NAME = "admin_notice";
public function index()
{
$data['flash_message'] = $this->session->flashdata(self::FLASHDATA_NAME);
$this->twig->display('index', $data);
}
public function store()
{
$this->session->set_flashdata(self::FLASHDATA_NAME, array('success' => 'create complete'));
redirect('index');
}
public function destroy()
{
$this->session->set_flashdata(self::FLASHDATA_NAME, array('danger' => 'delete complete'));
redirect('index');
}
}
Run Code Online (Sandbox Code Playgroud)
如果方法已完成,我的闪存数据包含这样的消息。
'flash_message' => array(
'success' => 'create complete'
);
Run Code Online (Sandbox Code Playgroud)
所以我这样写下我的看法。
{% if flash_message %}
<div class="alert alert-success alert-dismissible">
<button type="button" class="close" title="close" data-dismiss="alert" aria-hidden="true">x</button>
<h5><i class="icon fa fa-check"></i>{{ flash_message | first }}</h5>
</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我希望我可以使用 php key 函数来更改 css 类名“成功”或“危险”。
{% if flash_message %}
<div class="alert alert-{{ key(flash_message[0]) }} alert-dismissible">
<button type="button" class="close" title="close" data-dismiss="alert" aria-hidden="true">x</button>
<h5><i class="icon fa fa-check"></i>{{ flash_message | first }}</h5>
</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我知道键的功能,但需要循环数组。我不想这样做,因为数组只有一个元素。这就是我问的原因。我怎样才能做到这一点?谢谢。
我解决了这个问题。我可以通过这段代码获取密钥名称。
{{ flash_message | keys | first }}
Run Code Online (Sandbox Code Playgroud)