%sku%
と%any%
のような2つの単語は、サイトのURL構造で使用されます。Find Wordどのphlの最初に来る
このデータはデータベースに保存されますので、どのデータが最初に来るのかを調べる必要があります。
など。以下のURL %sku%
で
%any%
が、私は構造が一貫性のある、それは可能性になることを確認してくださいカントさらに
http://example.com/%any%/product/%sku%
最初に来るものの
http://example.com/%sku%/product/%any%
最初以下のいずれかのようになります。
私が最後に来る最初とされていたのかを確認したい..しかし%sku% and
%はどんな%が `私が定義されています。..ので、私はできる
http://example.com/%sku%/product/%any%
http://example.com/%any%/product/%sku%
http://example.com/%any%/%sku%
http://example.com/product/%sku%
http://example.com/product/%any%
それらのタグが使用されることを100%確信してください。次のコードは、指定された$attributes
配列の最初と最後に発生するアイテムを返します
$URL = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$posOfSku=strlen($URL);
$posOfAny=strlen($URL);
if(strpos($URL ,'%sku%') !== false) {
$posOfSku = strpos($URL ,'%sku%');
}
if(strpos($URL ,'%any%') !== false) {
$posOfAny= strpos($URL ,'%any%');
}
$result = ($posOfAny < $posOfSku) ? 'any came 1st' : 'sku came 1st';
echo $result;
いくつかのポイント。最後に来る答えは表示されません。引数以上のものがあり、 '%sku%'や '%any%'以外のものであれば、余分なリファクタリングも必要です。 – Jeemusu
それは 'ちょうどプロトタイプです。あなたは同じロジックを維持しながら配列とループを使用することができます。私はOPがそれを自分で行うことができると思います...彼はちょうどコード全体と新しい要件ではなく方向性を必要としました。 –
あなたの答えは元の質問のいくつかのuri要件では機能しません。 '%any%'文字列がURLにない場合、 '$ posOfAny'は' 0'に等しくなります。したがって、 '$ result'は' 'any come came 1st '' 'になります。 – Jeemusu