Это очень странно. Я просто повышен до WordPress 3.7.1, и я вдруг начал получать ошибкуArray_pop + WordPress 3.7.1 "get_results" = ошибка?
PHP Warning: array_pop() expects parameter 1 to be array, null given in (...)
Вот соответствующий фрагмент кода:
$User = array_pop($RM->DB->get_results($RM->DB->prepare(
'SELECT
`user_id` AS `ID`,
`api_key` AS `key`
FROM
`rm_users`
WHERE
user_id = %d'
, $user_value)));
Здесь я использую WordPress в $ wpdb объекта для запроса пользовательских столы. Странно, если я изменю его на это:
$Users = $RM->DB->get_results($RM->DB->prepare(
'SELECT
`user_id` AS `ID`,
`api_key` AS `key`
FROM
`rm_users`
WHERE
user_id = %d'
, $user_value));
$User = array_pop($Users);
Это прекрасно работает. Если array_pop получал нулевой параметр, то он означает, что $ Users будет пустым и вызовет ту же ошибку, но не является нулевой и не вызывает ошибку. Точно так же везде я использую метод get_results WordPress вместе с «array_pop».
Является ли это законной ошибкой php или есть какой-то глубокий механик, о котором я не знаю, это помешало бы array_pop напрямую принимать выходные данные метода?
Это не решает тайна, но она решает проблему и читает лучше, поэтому в конечном итоге это, вероятно, так, как я должен это делать. – JProffitt