收到警告:array_push() 期望参数 1 为数组,字符串给定 /function.php
Getting Warning: array_push() expects parameter 1 to be array, string given /function.php
我对编码不太友好,浪费了将近 5 天的时间来寻找解决方案。最近更改了托管,然后它开始发生。同时也得到了其他警告,如
"Warning: Cannot modify header information - headers already sent by (output started at /var/www/u1524808/genericpanda.com/wp-content/themes/pillshope/functions.php:278) in /var/www/u1524808/genericpanda.com/wp-login.php on line 400"
因此我无法登录 WordPress 仪表板。确实面临着困难时期。这是我收到错误的函数。真的需要帮助,提前谢谢你!!!
function register_my_session() {
if (!session_id()) {
session_start();
}
$_SESSION['cart']='';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
array_push($_SESSION['cart'], $_POST);
}
}
add_action('init', 'register_my_session');
您正在使用 array_push 但您的 $_SESSION['cart'] 是一个字符串,因为您将其初始化为 ' ' 但您应该使用 $_SESSION['cart'] = array ()
两件事
输出已经发送,所以没有使用 session_start() 但是如果你想添加并绕过警告写它像
@session_start()
array_push($_SESSION['cart'], $_POST);
$_SESSION 可以是一个数组,$_SESSION['cart'] 具有空字符串,因为您已为其分配空引号 ('')
$_SESSION['cart'] = ''
所以当您尝试将数据推送到 $_SESSION['cart'] 时,它会给您警告
你可以写 $_SESSION['cart'] = [] 然后你的代码就可以工作了
或
array_push($_SESSION['cart'], $_POST);
可以
array_push($_SESSION, $_POST);
但后面的部分可以擦除所有其他 SESSON 数据,所以我建议您应该使用第一个替代方案替换
$_SESSION['cart'] = ''
和
$_SESSION['cart'] = []
然后尝试。
我对编码不太友好,浪费了将近 5 天的时间来寻找解决方案。最近更改了托管,然后它开始发生。同时也得到了其他警告,如
"Warning: Cannot modify header information - headers already sent by (output started at /var/www/u1524808/genericpanda.com/wp-content/themes/pillshope/functions.php:278) in /var/www/u1524808/genericpanda.com/wp-login.php on line 400"
因此我无法登录 WordPress 仪表板。确实面临着困难时期。这是我收到错误的函数。真的需要帮助,提前谢谢你!!!
function register_my_session() {
if (!session_id()) {
session_start();
}
$_SESSION['cart']='';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
array_push($_SESSION['cart'], $_POST);
}
}
add_action('init', 'register_my_session');
您正在使用 array_push 但您的 $_SESSION['cart'] 是一个字符串,因为您将其初始化为 ' ' 但您应该使用 $_SESSION['cart'] = array ()
两件事
输出已经发送,所以没有使用 session_start() 但是如果你想添加并绕过警告写它像
@session_start()
array_push($_SESSION['cart'], $_POST);
$_SESSION 可以是一个数组,$_SESSION['cart'] 具有空字符串,因为您已为其分配空引号 ('')
$_SESSION['cart'] = ''
所以当您尝试将数据推送到 $_SESSION['cart'] 时,它会给您警告
你可以写 $_SESSION['cart'] = [] 然后你的代码就可以工作了 或
array_push($_SESSION['cart'], $_POST);
可以
array_push($_SESSION, $_POST);
但后面的部分可以擦除所有其他 SESSON 数据,所以我建议您应该使用第一个替代方案替换
$_SESSION['cart'] = ''
和
$_SESSION['cart'] = []
然后尝试。