-2

みなさん、こんにちは。THXに助けを求めてください。状況があり、スイッチ/ケースから値を返す必要がありますが、それができません。簡単ですが??? 私のコードはこんな感じです。

<? if (is_array($all_data)) { foreach ($all_data as $key => $data) { 
                                $sec = $data->section_id;
                                switch ($sec) {
                                    case 1:
                                        $pref = 'news_detail';
                                        break;
                                    case 3:
                                        $pref = 'article';
                                        break;
                                    case 4:
                                        $pref = 'perestr';
                                        break;
                                };
                            if ($key % 2 == 0) { ?>
                                <div class="news_content">
                                    <?php $href_link1 = base_url() . "pages/". $pref . '/' . $data->id . '/' . str_replace($replace_simbols, '-', $data->title); ?>
                                    <a href="<?=$href_link1.'.php'?>"><img src="<?=base_url();?>assets/uploads/articles/<? echo $data->base_img;?>"/></a>
                                    <a class="news_title_left" href="<?=$href_link1.'.php'?>"><? echo $data->title;?></a>
                                </div>
                            <? } else { ?>
                            <div class="news_content">
                                <?php $href_link2 = base_url() . "pages/". $pref . '/' . $data->id . '/' . str_replace($replace_simbols, '-', $data->title); ?>
                                <a href="<?=$href_link2.'.php'?>"><img src="<?=base_url();?>assets/uploads/articles/<? echo $data->base_img;?>"/></a>
                                <a class="news_title_right" href="<?=$href_link2.'.php'?>"><? echo $data->title;?></a>
                            </div>
                            <? }; }; ?>
                            <? } else echo '<p style="text-align: center;">Нет записей, повторите попытку позже!</p>'; ?>

$href_linkに対して$prefを返す必要があります。ここで、$ sec = $ data-> section_id; 私のテーブルのセクションIDです(1,2,3 ...)

ケース1(section_id = 1)の場合、$ pref='news_detail'と$href_linkweelbeが必要です。

... / pages / news_detail/..。

4

1 に答える 1

1
 $sec = (int) $data->section_id;
 switch ($sec) {
                                    default:
                                        $pref = "Default";
                                        break;
                                    case  1: 
                                        $pref = 'news_detail';
                                        break;
                                    case  3:
                                        $pref = 'article';
                                        break;
                                    case 4:
                                        $pref = 'perestr';
                                        break;
                                };
于 2013-03-14T22:36:40.940 に答える