一、将1234567890转换成1,234,567,890每三位用逗号隔开的形式。
ltrim()函数从字符串左侧删除空格或者预定义字符。
strrev()反转字符串。
但是对于中文字符串的反转,用strrev会出错,需要自己写函数??????
二、假设现在有个字符串为www.baidu.com,如何使用php操作使得输出为moc.udiab.
str_replace()函数,
str_replace(find,replace,string,count)
使string字符串中的find子串替换成replace
三、用php显示客户端ip与服务器ip的代码
客户端ip:$_SERVERP["REMOTE_ADDR"]
服务端ip:$_SERVER["SERVER_ADDR"]
四、简述如何得到当前执行脚本路径,包括得到参数
获得当前执行脚本路径:$_SERVER["SCRIPT_FILENAME"]
获取参数:$_SERVER["QUERY_STRING"]
五、echo(),print(),print_r()区别
(1)echo支持逗号语法,print不支持这种逗号语法;
(2)echo的返回值是void,print的返回值是int
(3)echo是语言结构不是函数,print在php5.3中开始作为函数使用
(4)echo语法比print的执行速度更快一些
Example:
echo
$str = "Who's John Adams?";
print $str;
print_r打印关于变量的易于理解的信息,如果给出的是
如果给出的是
Example:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
//输出结果/
array(4) {
}
Array
(
)
六、单引号和双引号的用法
双引号串中的内容可以被解释并且替换,但是单引号中的内容总被认为是普通字符
七、计算某段字符串中某个字符出现的次数(例如:gdfgfdgd59gmkblg中g的次数)
$text='gdfgfdgd59gmkblg';
echo substr_count($text,'g');
substr_count() 函数计算子串在字符串中出现的次数
八、如何往一个数组后面添加一个值,用两种方式
$arr[]=$value;
array_push=($arr,$value)
九、说出数组涉及到的常用函数
array---声明一个数组
count---计算数组中的单元数目或对象中的属性个数
foreach---遍历数组
list---
explode--将字符串转换为数组
implode---将数组转换成字符串
array_merge---合并一个或者多个数组
is_array----检查是否是数组
print_r----输出数组
sort----数组排序
array_keys----返回数组中所有的键名
array_values---返回数组中所有的值
key----从关联数组中取得键名
十、字符串的常用函数
trim---去掉字符串首尾处的空白字符(或者其他字符)
strlen----字符串长度
substr---截取字符串
str-replace----替换字符串函数
substr-replace---对指定字符串中的部分字符串进行替换
strstr---检索字符串函数
explode----分割字符串函数
implode
str_repeat---重复一个字符串
htmlspecialchars----
十一、谈谈对mvc的认识,相比其他的框架优势在哪儿
由模型,视图,控制器完成的应用程序,model负责提供数据,和数据库有关的操作都交给模型层来处理,view层则提供交互的界面,并输出数据,而controller层则负责接收请求,并分发给响应的model来处理,然后调用view层来显示。
接下来谈谈mvc的优点:
大部分用过程语言比如asp或者php开发出来的web应用,初始的开发模板就是混合层的数据编程。比如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模板的重用性。产品设计弹性力度很小,很难满足用户的变化要求。
首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理都是一致的。按mvc设计模式,一个订单模型以及多个视图即可解决问题。这样就减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。其次,由于模型返回的数据不带任何x显示格式,因而这些模型也可以直接应用于接口的使用。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需要改变mvc中的模型层。
最后,它有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
十二、php中web上传文件的原理是什么,如何限制上传文件的大小
上传文件的表单使用post方式,并且要在form中添加enctype=‘multipart/form-data’
一般可以加上隐藏域:<input type=hidder name='MAX_FILE_SIZE' value=dddddd>,位置在file域前面,value的值是上传文件客户端字节限制。可以避免用户在花时间等待上传大文件之后才发现文件过大上传文件失败的麻烦。
使用file文件域来选择要上传的文件,当点击提交按钮之后,文件会被上传到服务器中的临时目录,在脚本运行结束之前,将其移动到服务器上的某个目录下,可以通过函数move_uploaded_file()来移动临时文件,要获取临时文件的信息,使用$_FILES
十三、怎么把文件保存到指定目录,怎么避免上传文件重名问题
可以自己设置上传文件的保存目录,与文件名拼凑形成一个文件路径,使用move_uploaded_file(),就可以完成将文件保存到指定目录。可以通过上传的文件名获取到文件后缀,然后使用时间戳+随机数+文件后缀的方式为文件重新命名,这样可以避免了重名。