全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 918|回复: 15

[已解决] 懂PHP的看看会不会!

[复制链接]
发表于 2022-5-11 10:32:19 | 显示全部楼层 |阅读模式
本帖最后由 zxjlhsq 于 2022-5-11 10:49 编辑

代码如下:

  1. <?php

  2. $a="a";
  3. $b="b";
  4. $c="c";

  5. if ($==1){
  6.         echo "$a";
  7. } elseif ($==2){
  8.     echo "$b";
  9. } elseif ($==3){
  10.     echo "$c";
  11. } else {
  12.         header("Location: ./");
  13.         exit;
  14. }
  15. ?>

复制代码


直接贴代码 提示防火墙 改掉了get      使用 switch也差不多一样累

http://abc.com/index.php?id=1


如果 id 参数有1千个,我不可能写1千个if判断 吧。
能不能自动调用 $a $b $c 啊?


PS:10楼的大哥 解决了。。。  数组即可,无需使用数据库
发表于 2022-5-11 10:42:14 | 显示全部楼层
这不是php的数组知识吗?

  1. <?php
  2. $echo_arr=[
  3.         1=>"aa",
  4.         2=>"bb",
  5.         3=>"cc",
  6.         4=>"dd",
  7. ];

  8. $id= 4;
  9. if(array_key_exists($id,$echo_arr)){
  10.         echo $echo_arr[$id];
  11. }
  12. else{
  13.          echo ("Location: ./");
  14.         exit;
  15. }
  16. ?>
复制代码
发表于 2022-5-11 10:33:19 来自手机 | 显示全部楼层
什么叫自动调用?数组+for?
 楼主| 发表于 2022-5-11 10:34:50 | 显示全部楼层
steven52880 发表于 2022-5-11 10:33
什么叫自动调用?数组+for?

就是优化代码,不用If 或 switch

http://abc.com/index.php?id=1  
http://abc.com/index.php?id=2
http://abc.com/index.php?id=3

显示对应的内容。
发表于 2022-5-11 10:35:24 | 显示全部楼层
1=a
2=b
3=c
....等等
是否有规律
发表于 2022-5-11 10:35:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2022-5-11 10:36:48 | 显示全部楼层
本帖最后由 zxjlhsq 于 2022-5-11 10:38 编辑


无规律



id=fsdfs
id=32131
id=432 sf
id=fdsf3423 1#$
发表于 2022-5-11 10:39:55 | 显示全部楼层
这是设计问题吧
用个策略模式吧
发表于 2022-5-11 10:40:02 | 显示全部楼层
维护个字典。

if id in dict:
    ....
发表于 2022-5-11 10:40:05 来自手机 | 显示全部楼层
?都这样了为什么不上数据库呢,a,b,c对应各自的id
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-27 06:37 , Processed in 0.110822 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表