###前提・実現したいこと
下記にphpのソースを記載しました。
・$slickThumbという配列に商品情報を記載していってます。
・サイトアドレスがexample.com/collect/polo/mink/のURLのときは
$url_second="polo"
$url_third="mink"
がセットされる仕組みを作っております。
ちなみに$url_secondはbrand名を、$url_thirdはgoods名を示します。
【問題点】
各々のページ例えばexample.com/collect/polo/mink/のページに行った際に
第二スラッグのpoloと
第三スラッグのminkをトリガーにして$slickThumbの配列から探し出したいのです。
ソースの『//現在のページの情報所得』のところのfor文で全ての配列を確認して対応する配列を探し出していますが、効率的ではないと考えております。(その都度loopを回すのも負荷的に良くないのかとも思いました)
多次元配列の書き方も含めてもっと効率の良い、書き方ありますでしょうか。
phpに詳しいお方がいらっしゃいましたらお手数ですがご教示願います。
php
1//slickhtumbの基本情報入力 2 3<?php 4//urlの取得 5function my_url(){ 6 $str = str_replace("/wp/", "/", $_SERVER["REQUEST_URI"]); 7 $my_url['url'] = $str; 8 $my_url['url'] = substr_replace($my_url['url'], "", 0,1);//一文字目の/を削除 9 $my_url['path'] = explode("/", $my_url['url']); 10 $my_url['url'] = "/".$my_url['url'];//一応/をいれておく。 11 return $my_url; 12} 13 14$url = my_url(); 15$url_second = isset($url['path'][1]) ? $url['path'][1] : NULL ; 16$url_third = isset($url['path'][2]) ? $url['path'][2] : NULL ; 17 18//$slickThumb[] = array( 19//'brand_slug'=>'-2ndスラッグ名', 20//'goods_slug'=>'3rdスラッグ名', 21//'list' =>'リスト要素' 22//); 23 24//ブランド:polo 25$slickThumb[0] = array( 26 'brand_slug' => 'polo', 27 'goods_slug' => 'mink', 28 'list' => '<li>ミンクポロ</li>' 29 ); 30$slickThumb[1] = array( 31 'brand_slug' => 'polo', 32 'goods_slug' => 'flat', 33 'list' => '<li>フラットポロ</li>' 34 ); 35$slickThumb[2] = array( 36 'brand_slug' => 'polo', 37 'goods_slug' => 'rabbitfur', 38 'list' => '<li>ラビットポロ</li>' 39 ); 40 41 //ブランド:racoste 42$slickThumb[3] = array( 43 'brand_slug' => 'racoste', 44 'goods_slug' => 'ballet', 45 'list' => '<li>バレットラコステ</li>' 46 ); 47$slickThumb[4] = array( 48 'brand_slug' => 'racoste', 49 'goods_slug' => 'feather', 50 'list' => '<li>フェザーラコステ</li>' 51 ); 52 53 54 55//現在のページの情報所得 56for($i=0;$i<count($slickThumb);$i++){ 57 if(($slickThumb[$i]['brand_slug'] == $url_second) && ($slickThumb[$i]['goods_slug'] == $url_third)): 58 $HereNumber = $i; 59 endif; 60} 61 62?>
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答2件
あなたの回答
tips
プレビュー