-1

配列で stripslashes() を使用すると問題が発生します。

ここに私の配列があります:

$tabRegion = array(
1=>"Alsace",
2=>"Aquitaine",
3=>"Auvergne",
4=>"Basse-Normandie",
5=>"Bourgogne",
6=>"Bretagne",
7=>"Centre",
8=>"Champagne-Ardenne",
9=>"Corse",
10=>"Franche-Comté",
(...)
21=>"Provence-Alpes-Côte d'Azur",
22=>"Rhône-Alpes",);

ストリップスラッシュを行うために、次の PHP コードを適用しました。

foreach ($tabRegion as $key=>$region) {
$tabRegion[$key] = stripslashes($region);
}

ファイルの後で、たとえば次のように URL を生成します。

if (file_exists('../region/$tabRegion[$region]/$fonction/messages/$lecturefichier (...)

しかし、実際には、配列の最後の値がコードによって常に選択されます ("Rhône-Alpes")...理由はわかりません。

アイデアはありますか?:)

ありがとうございました !

4

2 に答える 2

0

$regionループ内で変数を使用しforeachており、スクリプト内の他の変数と同様に扱われることを知っておく必要があります。たとえば、次のようになります。

$fruit = 'Banana';    

foreach(array('Tomato', 'Orange') as $fruit) {
    echo $fruit;
}

echo $fruit; // it will output 'Orange';
于 2014-03-01T21:21:44.953 に答える
0

foreach ループを使用している場合は、そのループで URL を生成する必要があります。そのループでは、各地域の値を取得します $tabRegion = array( 1=>"Alsace", 2=>"Aquitaine", 3=>"Auvergne", 4=>"Basse-Normandie", 5=>"Bourgogne" , 6=>"ブルターニュ", 7=>"センター", 8=>"シャンパーニュ・アルデンヌ", 9=>"コルス");

foreach ($tabRegion as $key=>$region) 
{

 $tabRegion[$key] = stripslashes($region);
 print "<br>".$region;

}

出力は次のようになります : アルザス
アキテーヌ
オーヴェルニュ
バス-ノルマンディー
ブルゴーニュ
ブルターニュ
センター
シャンパーニュ-アルデンヌ
コルセ

そのため、その for ループに次の行を挿入する必要があります: if (file_exists('../region/$tabRegion[$region]/$fonction/messages/$lecturefichier (...)

于 2014-03-03T05:54:52.363 に答える