-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",);

为了stripslash,我改编了这个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=>"Bretagne", 7=>"Centre", 8=>"Champagne-Ardenne", 9=>"Corse");

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 回答