0

我正在使用以下脚本将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

有没有办法重写上面的脚本,这样我就不会收到错误?

谢谢。

4

2 回答 2

3

您需要先检查count($widgets['section-one-widgets']);是否大于零

$extra = (count($widgets['section-one-widgets']) == 0) ? 0 : 16/count($widgets['section-one-widgets']);

您应该始终针对导致失败的确切情况进行测试,在这种情况下它并不重要,因为计数将始终为零或更高,但在另一种情况下,您要除以一个小于零的数字,您还想允许处理。

于 2013-04-23T11:30:53.977 回答
1
$extra = (count($widgets['section-one-widgets']) > 0) ? 16/count($widgets['section-one-widgets']) : 0;
于 2013-04-23T11:30:44.567 回答