上下文:在我的WordPress插件安裝的網站之一,我看到一系列的PHP警告,但我不完全確定爲什麼會發生這種情況。我希望這裏有人能幫我弄清楚如何解決這個警告。如何解決這些非法字符串偏移警告?
代碼示例:
function my_function($array) {
if (! isset($array['where'])) { $array['where'] = 'after'; }
if (! isset($array['echo'])) { $array['echo'] = false; }
if (! isset($array['content'])) { $array['content'] = false; }
$array['shortcode'] = true;
$array['devs'] = true;
return social_warfare($array);
}
add_shortcode('my_shortcode', 'my_function');
的警告:
警告:非法串在 /home/playitda/public_html/domain.com/wp-偏移 '其中' content/plugins/my_plugin/functions/frontend-output/shortcodes.php on line 14
警告:非法串在 /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php 抵銷「迴響」第15行
警告:不能一個空字符串賦值給一個字符串 /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php 抵消線15
警告:非法串抵消'content' /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php on line 16
警告:不能爲空字符串賦值給一個串上線 /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php 偏移16
警告:非法串偏移 '短碼' 在 /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php 第18行
警告:非法字符串偏移'devs' /home/playitda/public_html/domain.com/wp-content/plugins/my_plugin/functions/frontend-output/shortcodes.php on第19行
出於某種原因,每次遇到數組中的某個索引時都會發出警告。我該如何解決?謝謝!
它看起來像函數期待一個數組並獲取一個字符串。 –
那麼我該如何強制這是一個數組?我是否在參數中聲明它,或者在繼續之前檢查它並使其成爲一個數組? –
是的,你可以['輸入提示'](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration)(遠遠超過提示7. +)函數簽名或顯式檢查類型...'is_array'。雖然不想在期待數組時傳遞一個字符串。 – ficuscr