如何在php中将会话值与多文件文件夹名称进行比较?

如何在php中将会话值与多文件文件夹名称进行比较?,php,Php,如果要从多个文件夹中检索数据或读取文件。例如,有10个文件夹名为: A、 B,C,D,E,F,G,H,I,J 您将在会话中发送一个值,即如何将条件写入要读取的文件夹,而不是像这样写入一个长代码 if($_SESSION["val"]== 'A') { //code to read the folder } elseif ($_SESSION["val"]== 'B') { // co

如果要从多个文件夹中检索数据或读取文件。例如,有10个文件夹名为:

  • A、 B,C,D,E,F,G,H,I,J
您将在会话中发送一个值,即如何将条件写入要读取的文件夹,而不是像这样写入一个长代码

        if($_SESSION["val"]== 'A')
         {
          //code to read the folder
         } elseif ($_SESSION["val"]== 'B')
         {
          // code to read the folder
         } elseif ($_SESSION["val"]== 'c')
         {
          // code to read the folder
         } elseif ($_SESSION["val"]== 'D')
         {
         // code to read the folder
         }

有没有任何可能的方法使代码更短?因为为每个值编写if-else会很乏味。

虽然不清楚您想要实现什么,但这可能有助于缩短代码:

$folders = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
if( in_array($_SESSION['val'], $folders) ) {
  $the_folder = $_SESSION['val'];
  // do whatever you wanna do here
}

如果必须对所有
If
语句执行相同的逻辑

$folders=['A','B','C','D','E','F','G','H','I','J']
if(在数组中($会话['val',$folders)){
//你的逻辑
}
如果要对每个
If
语句执行不同的逻辑

开关($\u会话['val'])){
案例“A”:
//逻辑
打破
案例“B”:
//B的逻辑
打破
案例“C”:
//C语言的逻辑
打破
案例“D”:
//D逻辑
打破
案例“E”:
//E的逻辑
打破
}

您可以使用数组和循环。数组将存储可能的值以及每个值所指向的文件夹。然后,您的循环将遍历数组,查看会话val是否等于数组中的1,并相应地处理它。您可以创建文件夹数组,如
$arr=[A、B、C、D、E、F、G、H、I、J]
,然后只需检查
if(在数组中($\u session[“val”],$arr)){
谢谢,我还没想过,因为我是个初学者……这帮了我@vibhachosla,很高兴我能帮上忙