前面的一篇博文提到php中数组是没有下标越界这一说的,如下的程序可以正常运行:
立即学习“PHP免费学习笔记(深入)”;
一、源码特点1、UI:界面美观 ;漂亮 ;大方;实用。 二、功能介绍这是一款集MVC+权限管理+微信开发的源码,功能比较丰富。三、菜单功能1、微信管理:微信菜单管理、微信调用管理、微信关注用户、微信文章管理。2、基础资料:实体类生成、数据迁移、字典管理3、系统设置:组织管理、权限管理、角色管理、用户管理、用户组管理。4、系统菜单:登入系统、用户密码修改、登入日志查询。四、注意事项1、管理员用
0
<?phpprint count($w) . "\n";$w[3] = "rt";$w[100] = "tt";print $w[0] . $w[1] . $w[2] . $w[3] . $w[100] . "\n";print_r( $w );?>
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
0rtttArray( [3] => rt [100] => tt)
立即学习“PHP免费学习笔记(深入)”;
另外要注意php中的fscanf函数,看下面一段c++的代码:
立即学习“PHP免费学习笔记(深入)”;
#include<iostream>using namespace std;int main(){ int a[3]; for( int i = 0; i < 3; i++ ) scanf( "%d", a+i ); cout << a[0] << " " << a[1] << " " << a[2] << endl; return 0;}立即学习“PHP免费学习笔记(深入)”;
若从键盘输入一行:1 2 3
则程序能输出正确结果为:1 2 3而单纯地将这段程序改写成php,如下:
立即学习“PHP免费学习笔记(深入)”;
<?phpfor( $i = 0; $i < 3; $i++ ) fscanf( STDIN, "%d", $a[$i] );print $a[0]. " ". $a[1]. " ". $a[2] . "\n";?>
立即学习“PHP免费学习笔记(深入)”;
即scanf改为fscanf后,则不能得到期望的结果。原因是,php中fscanf是把输入中的”一行“作为一个输入单位进行解析的,这样在输入”1 2 3“后,php从该字符串中解析到了第一个整数值1把它赋给a[0]后,字符串中剩余字符就会被忽略,程序等待下一行的输入。这就是c++中scanf和php中fscanf间要注意的区别。值得一提的是,php中开头的读文件函数基本都是以”行“为单位的。
若要让php能顺利进行输入,一般有两种方法,1 用格式化字符串,比如上面将fscanf的第二个参数改为 "%d%d%d"。2 用fgets函数读一行,然后自己利用split,int等函数进行字符串的解析,得到自己想要的数据。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号