向 Cakephp3 配置添加多个值::write

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

我想做一些类似php的array_push

我正在使用 Cakephp3 Configure Class 并希望存储收到通知的用户 ID 列表。像这样:

Configure::write('Notified_Users', 1);
Configure::write('Notified_Users', 2);

但是值 2 会覆盖值 1。 有什么办法可以将数据推送到这个变量吗?然后我可以检查所选用户是否在列表中。

php cakephp cakephp-3.0
3个回答
1
投票

你也可以这样创建一个数组

Configure::write('Notified_Users.0', 1);
Configure::write('Notified_Users.1', 2);

或者简单地

Configure::write('Notified_Users', [1, 2]);

如果你

debug(Configure::read('Notified_Users'));
你就会得到

[
    (int) 0 => (int) 1,
    (int) 1 => (int) 2
]

0
投票

将数据推送到此变量:

$notified_users = [];
array_push($notified_users,1);
Configure::write('Notified_Users', $notified_users);

检查所选用户是否在列表中:

if (in_array(1, Configure::read('Notified_Users')))
  {
  echo "Match found";
  }
else
  {
  echo "Match not found";
  }

0
投票

试试这个:

Configure::write('Notified_Users', [1, 2, 3]);

Configure::write('Notified_Users', 
        [
            '0' => 1,
            '1' => 2,
            '2' => 3
        ]
    );
© www.soinside.com 2019 - 2024. All rights reserved.