PHP所有能力都是函数,内置1000多个函数,不是每一个函数都默认直接可以使用,有一些需要安装或者启用额外的“插件”扩展。
1,获取字符串长度
<?php $str='hello'; echo strlen($str); //5
2,获取中文字符串(宽字符)的长度
strlen 只能获取拉丁文的长度
php中专门为宽字符集添加了一套API,所有的API 都是 mb_xxxx
echo mb_strlen('你好');
但是报错:Fatal error: Uncaught Error: Call to undefined function mb_strlen() in D:\www\site2\02, string.php:7 Stack trace: #0 {main} thrown in D:\www\site2\02, string.php on line 7
这是因为这一套 API 不在内置的 1000+ 里面,而是在一个模块(php_mbstring.dll)中,模块成员必须通过配置文件载入模块过后再使用
配置PHP扩展的步骤
1,在PHP的安装目录去创建一个 php.ini ( 将PHP目录中的 php.ini-development 复制一个 修改为 php.ini )
2, 修改扩展文件所在目录 extension_dir
3,;extension=php mbstring.dll ,去掉注释( 修改文件中的部分选项 ; 是注释符)
4,默认Apache加载的php.ini 是去 C:\ Windows目录找的
5,可以通过Apache的配置文件修改默认加载路径 PHPIniDir
3,常见字符串API
①字符串截取
第一个参数:被截取的字符串
第二个参数:从哪个位置开始截
第三个参数:截取的字符个数
②字符串长度
③大小写转换
strtolower:大写转小写
strtoupper:小写转大写
④去除首尾空白字符
⑤查找字符串中某些字符首次出现位置
⑥字符串替换
用 b 替换 a
⑦重复字符串
第一个参数:重复的字符串
第二个参数:重复多少次
⑧字符串分割
4,数组处理
php中的数组类型:索引数组、关联数组
php中定义数组的方式:array( ) 、 [ ] (php 5.4+)
①获取关联数组中全部的键/值
arrar_keys() array_values()
<?php $arr=array( 'hello' => '你好', 'pink' => '粉色', 'blue' => '蓝色', ); var_dump(arrray_key($arr)); //['hello','pink','blue'];var_dump(array_values($arr)); //['你好','粉色','蓝色'];
②判断数组中是否存在某个键
array_key_exists()
<?php $arr=array( 'hello' => '你好', 'pink' => '粉色', 'blue' => '蓝色', ); var_dump(array_key_exists('hello',$arr)); //bool(true) var_dump(array_key_exists('world',$arr)); //bool(false)
isset也可判断数组中是否有指定的键
<?php $arr=array( 'hello' => '你好', 'pink' => '粉色', 'blue' => '蓝色', ); if(isset($arr['hello'])){ echo $arr['hello']; //你好 } else{ echo '没有'; }
empty与isset相反, empty($arr['foo']) 相当于 ! isset ( $arr [ 'foo' ] ) || $arr['foo'] == false
<?php $arr=array( 'hello' => '你好', 'pink' => '粉色', 'blue' => '蓝色', ); if(empty($arr['foo'])){ echo '没有'; } else{ echo $arr['foo']; }