当前位置:首页 » 编程语言 » php逻辑题

php逻辑题

发布时间: 2023-06-15 16:43:41

php的一个程序逻辑问题

function show_all_class($f_id = 0){
global $arr,$k;
for($i=0;$i<count($arr);++$i){
if($arr[$i][1]==$f_id)
{$str=leadStr($k++);
这儿使用$i之前+1 所以 不会出现当$i=0时,$arr[0][1]==$f_id的情况 而是$arr[1][1]==$f_id也就是数据库查出的 row[f_id]==0 就执行以下代码 不过$k=0运行还是后 我们看下面 有个函数调用自身的过程 show_all_class($arr[$i][0]); 也就是show_all_class($arr[1][0]); 不管你$k有没被调用 运行后$k==0 这样leadstr方法中第一个传入去的$k应该是0 而$k被用后下面函数show_all_class(); 会递加1 我不知道你数据库传进的数据是什么 你传过来的值带进去 按这逻辑运行下 理解下函数的递归 你就会明白了 不过这代码写得太不专业了 很乱 而且很不标准

⑵ php中的逻辑判断问题

php里有2个等于比较符,== 和 ===
对于前面的等号,会判断并转化为相同的类型后再进行比较,
比如你的代码: 0 == "a",会先把字符串a转化为数值,因为字符串里没有数字,所以"a"转换后就是0, 0==0当然是true了
同理,"1" == "01" 会自动判断有数字,然后把前后2个字符串都转化为数字进行比较,所以也是true。
同样的问题还有: 0 == ""; 0 == false; 这些都是true
而 === 就不会,该比较符必须类型相同,类型不同,直接返回false,
比如 0 === "0" 会返回false

在实际工作中,建议避免使用 ==,统一使用 ===

⑶ 关于PHP的逻辑运算

呵呵~~正如前面这位大哥说的~~
$c的值已经是bool型的了,所以在后面与$d比较的时候,php会先将$d的值转换为bool型的,6也就是true了,所以$c和$d相等了~~

⑷ php实现逻辑题

那第 1 头是隔过去的话就永远是第 1 头活着,

从第 1 头杀的话就是第 994 头活着

$array=array();
for($i=1;$i<=1000;$i++){
$array[]=$i;
}

$a=digui($array);

echo$a[0];

functiondigui($arr){
if(count($arr)>1){
for($x=0;$x<=count($arr)+2;$x+=2){
unset($arr[$x]);
}
$arr=array_merge($arr);
$arr=digui($arr);
}
return$arr;
}
热点内容
sql修改字段为空 发布:2025-07-22 03:45:57 浏览:26
出滑块算法 发布:2025-07-22 03:44:25 浏览:236
杀死比尔ftp 发布:2025-07-22 03:42:17 浏览:506
1g的服务器对应1g的云存储吗 发布:2025-07-22 03:42:13 浏览:456
说说怎么上传音乐 发布:2025-07-22 03:40:15 浏览:401
护网脚本 发布:2025-07-22 03:32:38 浏览:5
服务器有多个网口怎么查看地址 发布:2025-07-22 03:31:54 浏览:236
pda扫描服务密码是多少 发布:2025-07-22 03:06:11 浏览:99
暗影精灵2代配置是什么 发布:2025-07-22 03:02:07 浏览:433
密码锁恢复出厂设置后如何设置密码 发布:2025-07-22 03:02:05 浏览:788