PHP基础知识-函数
来源:互联网 发布:生命一个数组 编辑:程序博客网 时间:2024/05/17 21:43
php常用
- 敏感词过滤
php
function sensitive($post_content)
{
//定义数组、文件路径
$arr = array();
$path = 'sensitive';
//将文件逐行存储到数组
$file = @fopen($path,"r");
if($file !== false)//保证file指针一定存在
{
while(!feof($file))
{
$arr[] = fgets($file);
}
fclose($file);
}
//将数组中的敏感词汇逐一替换
foreach($arr as $key => $val)
{
$post_content = str_replace($val,'*',$post_content);
}
return $post_content;
}
sensitive文件:
词1
词2
词3
# php cli模式
- 方式1:
//请求输入参数
fwrite(STDOUT, "请输入名字:");
//获得输入参数
$name = trim(fgets(STDIN));
//输出获得参数
fwrite(STDOUT, "你好, $name !");
命令行:
php 文件名 回车
请输入名字:
Jane Eyre 回车
你好,Jane Eyre!
- 方式2:
echo "<pre>";
print_r($argv);
echo $argc;
命令行:
php 文件名 参数1 参数2 回车
array(
'0'=>'文件名',
'1'=>'参数1',
'2'=>'参数2'
)
3
- 方式3:(仅在 register_argc_argv 打开时可用)
php
/*
*$str、$arr中'x:'为必填参数,'x::'为可选参数
*可以通过 -a -b -c -d(可选,'='号传值)传入参数
*可以通过--kay1 --kay2(可选,'='号传值)传入参数
*必填参数不给值,会将后面输入的内容解析为参数的值
*/
$str = "a:b:c:d::efg";
$arr = array(
"kay1:",
"kay2::",
"kay3",
"kay4",
);
$options = getopt($str, $arr);
print_r($options);
命令行:
php 文件名 -a 111 -b 112 -c 113 -d=114 --kay1 111 --kay2=112 回车
Array
(
[a] => 111
[b] => 112
[c] => 113
[d] => 114
[kay1] => 111
[kay2] => 112
)
- php文本搜索器
<html>
<head>
<title>搜索指定文本</title>
</head>
<body>
<form action="" method="post">
<p>
<input type="test" name="str"/>
<input type="submit" value="查询"/>
</P>
</form>
<?php
function searchFile($path,&$arr)
{
if(is_dir($path))
{
$dp = dir($path);
while($file = $dp->read())
{
if($file != '.' && $file != '..')
{
searchFile($path.'/'.$file,$arr);
}
}
$dp->close();
}
if(is_file($path))
{
$arr[] = $path;
}
}
function getFile()
{
$dir = '.';
$arr = array();
searchFile($dir,$arr);
return $arr;
}
$arr = getFile();
foreach($arr as $key => $val)
{
$content = file_get_contents($val);
if(!empty($_POST['str']) && strstr($content,$_POST['str']))
{
echo $val."<br>";
}
}
?>
</body>
</html>
- php存储空,0,false处理
foreach($info as $key => $val){
if(empty($val) && $val !==0 && $val !==false){
$info[$key] = null;
}
}
- php二维数组排序
arr_sort($array,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC )
{
//$sort_order=SORT_ASC、SORT_DESC
//$sort_type=SORT_NUMERIC、SORT_STRING、SORT_REGULAR
if(is_array($array)){
foreach ($array as $arr){
if(is_array($arr)){
$arrays[] = $arr[$sort_key];
}else{
return false;
}
}
}else{
return false;
}
array_multisort($arrays,$sort_order,$sort_type,$array);
return $array;
}
- php函数方法区别
1,直接调函数名的叫函数,用对象调用的叫方法;
2,面向过程叫函数,面向对象叫方法;
- xml、json解析
function xmlParsing()
{
//第三个参数表示能解析<![CDATA['数据']]>
$array = simplexml_load_file('123.xml','SimpleXMLElement',LIBXML_NOCDATA);
echo "<pre>";
print_r($array);
}
function jsonParsing()
{
$file_open = fopen("123.json","r");
if($file_open)
{
for($i=1;!feof($file_open);$i++)
{
$array[$i] = fgets($file_open);
}
}
fclose($file_open);
//true解码为数组,false解码为对象
$array = json_decode($str,true);
echo "<pre>";
print_r($array);
}
- 数组解析为XML
```function arr_to_xml($arr){ $xml = '<?xml version="1.0" encoding="utf-8"?>'."\n"; $xml.='<data>'."\n"; foreach ($arr as $key=>$val) { if(is_array($val,$xml)){ $xml.=arr_deal($val); }elseif (is_numeric($val)){ $xml.='<'.$key.'>'.$val.'</'.$key.'>'."\n"; }else{ $xml.='<'.$key.'><![CDATA['.$val.']]></'.$key.'>'."\n"; } } $xml.='</data>'."\n"; return $xml;}function arr_deal($arr,$xml){ foreach ($arr as $key=>$val) { if(is_array($val)){ $xml.=arr_deal($val); }elseif (is_numeric($val)){ $xml.='<'.$key.'>'.$val.'</'.$key.'>'."\n"; }else{ $xml.='<'.$key.'><![CDATA['.$val.']]></'.$key.'>'."\n"; } } return $xml;}```
- php正则匹配汉字
```页面编码不同略有区别:GBK/GB2312:[x80-xff]+或[xa1-xff]+UTF-8 :[x{4e00}-x{9fa5}]+/u```
- php位运算权限判定
```<?php//定义权限:111:RWX//可读权限向左移两位define('R', 1<<2);//可写权限向左移一位define('W', 1<<1);//执行权限不进行位移define('X', 1<<0);//赋予权限:0b101=5=R|X$permission = R|X;//验证权限echo '可以读:'.(($permission & R)?'Yes':'No').'<br/>';echo '可以写:'.(($permission & W)?'Yes':'No').'<br/>';echo '可执行:'.(($permission & X)?'Yes':'No');?>```
- php文件上传
```<?php $file = $_FILES['upload']?$_FILES['upload']:''; if(is_uploaded_file($file)){ $name = $file['name']; $type = $file['type']; $tmp_name = $file['tmp_name']; $error = $file['error']; $size = $file['size']; } if($error !== 0){ die('上传失败'); } if($type != 'png'){ die('图片格式必须为png'); } if($size > 1024*1024){ die('图片大小不能超过1M'); } $path = '/var/www/progect/picture/123.png' move_uploaded_file($tmp_name,$path);```
- php数据转json中文原样输出
```$arr = array('中文汉字','中文字符');$str = json_encode($arr,JSON_UNESCAPED_UNICODE);echo $str;```
- PHP数组函数基础知识
- PHP基础知识-函数
- PHP基础知识构造函数
- PHP的函数基础知识
- php基础知识 6 自定义函数
- PHP函数基础知识--第三弹
- php基础知识【函数】(1)数组array
- 【PHP基础知识】——Header()函数
- 【PHP基础知识】——PHP的FTP函数
- PHP基础知识构造函数与析构函数
- PHP 基础知识
- PHP基础知识
- php基础知识
- PHP基础知识
- php基础知识
- PHP基础知识
- php基础知识
- PHP 基础知识
- C#关于类(1)
- iOS 8开发入门--序言(2)
- Android适配—百分比布局库(android-percent-support-lib-sample)
- 史上最简单的 MyBatis 教程(二)
- ubuntu下使用qemu模拟ARM(六)------驱动程序编译进内核方法
- PHP基础知识-函数
- Socket编程--自己动手的HTTP代理服务器
- PART IV 程序设计层 Chapter 7 低级程序设计语言
- 1008. 数组元素循环右移问题 (20)
- spingIoc利用工厂调用方法创建对象
- ZooKeeper客户端常用命令
- 数据库中时间存储类型相关
- fstream头文件
- MySQL 字段添加 删除