您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > PHP初学者常见问题集(21问答)
初学者常见问题集(21问答)1,如何连接连两个字符串?答:在php中连接两个字符串可以直接使用“.”操作符号,例如$newStr=Zhang.san,在java中是使用“+”操作符号,不要混淆。2,如何计算一个字符串的长度?答:$str=test;$length=strlen($str);即使用strlen(str)函数。3,如何按照某个分割符拆分一个字符串?答:使用explode(delim,str)函数,例如$arr=explode(::,a::bdf::dfsdf);该函数返回一个数组。在java中可以使用String对象的split函数。4,如何获取http请求中的参数值?答:如果为GET请求,使用$_GET[paramName],如果为POST请求,使用$_POST[paramName],例如:$email=$_POST[usermail]。5,php中是否可以像Java一样使用类?答:可以,但是机制和具体使用方式可能不太一样。6,是否可以举一个使用for循环的例子?答:for($i=0;$i100;$i++){echo$i;}7,如何在javascript中取得php中的变量?答:例子如下:?php$username=$_POST[username];?scriptvarusername=?phpecho$username?;/script8,如何删除一个文件?答:使用unlink(filename)函数,当然程序必须有权限删除该文件才可以,我们所使用的php虚拟空间可能对一些文件是有限制的,所以可能会出现权限错误。9,我定义了一个类User,声明了该类的一个方法getName(),为什么我使用$user=newUser;$name=$user.getName()会报错?答:注意php中对类成员的引用方式,上面的引用应该为$name=$user-getName(),即使用-符号,而不是Java中使用的“.”号。10,我申请了一个不带mysql支持的php虚拟空间,请问我该怎么存取应用数据啊?答:存取数据不一定要使用数据库,使用文件系统也是不错的,另外即使使用数据库,也不一定非要使用像mysql、oracle等的这样的数据库,也可以使用一些文本数据库,例如txtsql,这样的话就不必去租用费用比较高的mysql数据库空间了。11,我申请了一个不带数据库的php空间,我现在的应用数据是存在文件中的,但是这会有一个安全问题,就是访问者可以通过url查看到这些文件的内容,我怎么保护这些文件内容呢?答:建议的方式有三种:1)如果你租用的php空间允许设置目录的http访问权限,那么设置一下即可。2)可以对文件内容进行加密,那么即使被下载,也没有多大的价值。3)可以将这些文件的后缀改为.php,即使用php文件存储应用信息,这样的话,访问者就无法通过http访问到这些文件的真实内容了,当然这些文件中的内容必须是正确的php语法,而且内容要使用php语法中的隐藏语法将信息隐藏起来,例如一个存放帐号信息的文件如下:users.php?php/*:::user1:password1::user2:password2::user3:password3:::*/?12,如何对一个字符串进行转码?使用php的iconv函数,签名为:$str=iconv(fromEncode,toEncode,str);例如:$str=php字符串转码;$str=iconv(utf-8,gbk,$str);//将字符串从utf-8格式转换为gbk格式转码是很重要的一个问题,例如目前许多博客提供的rss都是utf-8返回的,因此需要通过转化才能正确显示。13,如何读取一个网页的HTML内容?PHP中文件的概念和Java中文件流的概念是类似的,许多文件读取的函数,其接受的输入流不仅仅是本地文件系统,也可以是网络文件,下面介绍其中的一种方式:functiongetRssContent($url){$handle=fopen($url,rb);$contents=;$count=0;do{$data=fread($handle,1000000);$count++;if(strlen($data)==0){break;}$contents.=$data;}while(true);fclose($handle);return$contents;}14,PHP中如何操作mysql数据库?为了方便初学者能够上手mysql的操作,我介绍一些常用的操作:1)数据库连接与关闭$dbhost=;=;$dbpw=;$dbname=;$link=mysql_connect($dbhost,$dbuser,$dbpw)ordie(Couldnotconnect:.mysql_error());mysql_select_db($dbname);...//此处是对数据库具体的操作,后面的例子不再写数据库的连接和关闭操作mysql_close($link);2)向表中插入新数据mysql_query(insertintomytable(id,name)values('.$id.','.$name.'));上面是向mytable表的id和name字段插入一条数据。3)从表中查询数据$rs=mysql_query(select*frommytablemtwheremt.id='001');4)从表中删除数据$rs=mysql_query(deletefrommytablemtwheremt.id='001');5)对于复杂查询,例如select子句,mysql3.22以下版本不支持,因此许多时候php编写复杂sql时会得不到结果,这其实不是php的错,而是mysql的版本较低的缘故。6)对于select返回的结果集,可以如下操作:对于返回一条结果,可以如下:$row=mysql_fetch_object($rs);$id=$row-id;//id是字段名称,或者字段的别名,以下同$title=$row-title;$asker=$row-asker;对于返回多条结果,可以如下:while($row=mysql_fetch_object($rs)){$id=$row-id;$title=$row-title;$asker=$row-asker;}当然还有方法可以使得返回的结果为数组,访问也可以根据字段的位置index值访问,这个可以查询相关手册,就不介绍了。
本文标题:PHP初学者常见问题集(21问答)
链接地址:https://www.777doc.com/doc-2850386 .html