我已经像这样在Codeigniter PHP函数中将PHP数组转换为单个选择...

function check_week($week_array)
{
    $sql = "SELECT X_id FROM products WHERE date_sub(curdate(), INTERVAL 1 DAY) <= updated_at;";
    $query = $this->db->query($sql, $week_array);
    $week = $query->result_array();
    $weeks = json_encode($week[array_rand($week)]);
    return $weeks;
}


我得到...的回报

{"X_id":"XXX1AXPJV6"}


我已经将其范围缩小到一个id,因此无需使用循环,我只需要一个简单的步骤即可获得id。 (所以我只想将XXX1AXPJV6作为变量)。另外,我确实尝试将其保留在PHP中,并且由于对模型的调用来自库文件,因此Codeigniter谨慎地允许将任何字符串转换为字符串。

顺便说一句,我的1天间隔用于测试,它将是7

尝试使用...

$weeks2 = $weeks[0]['X_id'];
    return $weeks2;


...得到错误“无法将字符串偏移量用作...中的数组”

最佳答案

如果我正确理解问题

$weeks = json_encode($week[array_rand($week)]);


应该

$weeks = reset($week[array_rand($week)]); // returns the value of the first element in the array


希望能有所帮助。

08-15 20:35
查看更多