我正在使用以下脚本将 16 除以特定侧边栏中动态数量的小部件:
$widgets = wp_get_sidebars_widgets();
$extra = 16/count($widgets['section-one-widgets']);
问题是虽然这完全符合我的要求,但我收到以下错误消息:
PHP Warning: Division by zero in /wp-content/themes/mythemename/test.php on line 2
有没有办法重写上面的脚本,以便我没有收到错误?
感谢。
答案 0 :(得分:3)
您需要先检查count($widgets['section-one-widgets']);
是否大于零
$extra = (count($widgets['section-one-widgets']) == 0) ? 0 : 16/count($widgets['section-one-widgets']);
你应该总是测试导致失败的确切情况,在这种情况下它并不重要,因为计数总是为零或更高,但在另一种情况下,你除以一个低于零的数字,你我想也允许处理它。
答案 1 :(得分:1)
$extra = (count($widgets['section-one-widgets']) > 0) ? 16/count($widgets['section-one-widgets']) : 0;