0

このステートメントで構文エラーが発生します

$catlist = if (function_exists('put_cat_icons')) {
put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0'));
} else {
wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
}​​​​​​​

削除し$catlist =てもエラーは発生しません。コードの問題は何ですか?このような変数を設定できますか?

4

5 に答える 5

1

if代入の値が無効であるため。どこから入手したのかわかりません。ただし、ここでは三項演算子を使用できます

$catlist = function_exists('put_cat_icons')
    ? put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0'))
    : wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);

また、コードを見ると、wp_list_categories()-call が両方の場合で同じであることに気付くかもしれません

$catlist = wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
if (function_exists('put_cat_icons')) $catlist = put_cat_icons($catlist);
于 2012-08-01T09:51:30.163 に答える
0

見た目からすると、通常のifステートメントと三項演算子が混在しています。これは次のようになります。$someVar = (condition) ? "TRUE VALUE" : "FALSE VALUE";

ケースで三項演算子を使用すると、次のようになります。

$catlist = (function_exists('put_cat_icons')) ? 
    put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0')) : 
    wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
于 2012-08-01T09:51:51.707 に答える
0

私はこれが変数を設定する正しい方法ではありません。あなたはこれをやろうとしていますか

$catlist = (function_exists('put_cat_icons')) ? put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0')):
wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
于 2012-08-01T09:52:15.980 に答える
0

コードを少し再配置することをお勧めします

if (function_exists('put_cat_icons')) {
    $catlist = put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0'));
} else {
    $catlist = wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
}​​​​​​​
于 2012-08-01T09:51:12.190 に答える
0

条件の結果に代入することはできません。独立している必要があります。おそらくあなたは次のことを意味しました:

if (function_exists('put_cat_icons')) {
    $catlist = put_cat_icons( wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id.'&echo=0'));
} else {
    $catlist = wp_list_categories('echo=0&orderby=id&show_count=1&title_li=&child_of=' . $cat_id);
}​​​​​​​

通常の条件と 3 項条件の間で混乱したことがあるかもしれませんが、後者は代入が可能です。

$something = 1 < 2 ? 'foo' : 'bar';
于 2012-08-01T09:51:23.127 に答える