PHP初学者常见问题集

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 1,如何连接连两个字符串? 答:在php中连接两个字符串可以直接使用“.”操作符号,例如$newStr="Zhang"."san",在java中是使用“+”操作符号,不要混淆。 2,如何计算一个字符串的长度? 答:$str="test";$length=strlen($str);即使用strlen(str)函数。

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;$i<100;$i++){
echo $i;
}

7,如何在javascript中取得php中的变量?
答:例子如下:
<?php
$username=$_POST["username"];
?>
<script>
var username="<?php echo $username ?>";
</script>

8,如何删除一个文件?
答:使用unlink(filename)函数,当然程序必须有权限删除该文件才可以,我们所使用的php虚拟空间可能对一
些文件是有限制的,所以可能会出现权限错误。

9,我定义了一个类User,声明了该类的一个方法getName(),为什么我使用$user=new User;$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中文件流的概念是类似的,许多文件读取的函数,其接受的输入流不仅仅是本地文件系统,也可以是网络文件,下面介绍其中的一种方式:
function getRssContent($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 = "";
$dbuser = "";
$dbpw = "";
$dbname = "";
$link = mysql_connect($dbhost, $dbuser, $dbpw) or die("Could not connect: ".mysql_error());
mysql_select_db($dbname);
...//此处是对数据库具体的操作,后面的例子不再写数据库的连接和关闭操作
mysql_close($link);
2)向表中插入新数据
mysql_query("insert into mytable(id,name) values('".$id."','".$name."')");
上面是向mytable表的id和name字段插入一条数据。
3)从表中查询数据
$rs=mysql_query("select * from mytable mt where mt.id='001'");
4)从表中删除数据
$rs=mysql_query("delete from mytable mt where mt.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值访问,这个可以查询相关手册,就不介绍了。 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9月前
|
数据可视化 定位技术 PHP
漏刻有时数据可视化大屏常见问题(15):php常量配置数组
漏刻有时数据可视化大屏常见问题(15):php常量配置数组
77 0
|
设计模式 前端开发 PHP
PHP的Laravel与Composer部署项目时常见问题
我们在部署PHP项目时,其实大部分的PHP项目会创建环境检测与一键Install页面。 但是,有许多的项目还采用了Composer部署。
329 0
|
运维 PHP
【常见问题】宝塔面板如何安装最新版本的php扩展swoole
宝塔面板能提高我们非运维专业人员的管理效率,但是也会损失一些灵活性,要根据需求灵活使用工具。
349 0
|
关系型数据库 MySQL PHP
php套件 wampserver 常见问题
安装问题 dll 丢失 今天手贱升级了win10,重新安装了一下php的套件,提示有几个组件找不到,其中有一个msvcr100.dll丢失。 google了一下: youtube视频:Windows 10 Wamp Server Error of Missing MSVCR110 dll dll下载地址:http://www.
1120 0
|
PHP
php 常见问题
empty(trim($str))报错原因 一个if判断如下: if (!empty(trim($a))) { ... } 报出如下错误: Fatal error: Can't use function return value in write context in .
822 0
|
PHP
3110 PHP常见问题
1.中文显示
570 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0