首页 > 编程技术 > php

php数组操作 键名比较 差集 交集赋值

发布时间:2016-11-25 15:09

本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。

//定义回调函数
function key_compare_func($key1,$key2)
{
  if($key1==$key2)         //如果两参数相等
  return 0;          //返回0
  else if($key1>$key2)        //如果$key1>$key2
  return 1;          //返回1
  else           //如果$key1<$key2
  return -1;          //返回-1
}
//分别定义两个数组
$array1=array('blue'=>1,'red'=>2,'green'=>3,'purple'=>4);
$array2=array('green'=>5,'blue'=>6,'yellow'=>7,'cyan'=>8);
//用回调函数对键名比较计算数组的差集
$result=var_dump(array_diff_ukey($array1,$array2,'key_compare_func'));
print_r($result); 
         //输出比较结果
         
         
//
$array1=array("a"=>"green","red","blue","red");     //定义数组1
$array2=array("b"=>"green","yellow","red");     //定义数组2
$result=array_diff($array1,$array2);       //计算差集
print_r($result);           //输出比较结果


//

$result=array_fill(5,6,'banana');    //为数组$a从第5个元素开始添加6个banana
print_r($result);       //输出结果

//

function odd($var)
{
  return($var%2==1);     //如果参数为奇数,返回true,否则返回false
}
function even($var)
{
  return($var%2==0);     //如果参数为偶数,返回true,否则返回false
}
//分别定义两个数组
$array1=array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
$array2=array(6,7,8,9,10,11,12);
echo "过滤奇数:n";
print_r(array_filter($array1,"odd"));   //过滤数组1中的奇数
echo "过滤偶数:n";
print_r(array_filter($array2,"even"));   //过滤数组2中的偶数

//

$trans=array("a"=>1,"b"=>2,"c"=>3);     //定义数组
$result=array_flip($trans);       //反转数组
print_r($result);         //输出反转后的数组

//

$array1=array("a"=>"green","b"=>"brown","c"=>"blue","red");
$array2=array("a"=>"green","yellow","red");
$result_array=array_intersect_assoc($array1,$array2);  //交集赋值到$result_array
print_r($result_array);        //输出结果数组

语法
bin2hex(string)
*/
$str="1001";           //定义二进制字符串
$result=bin2hex($str);         //执行转换操作
echo $result;           //输出转换后的结果,3663

本教程主要是计到了 array_slice array_search array_shift array_unique array_unshift确这几个函数的应用实例了。



*/
$input=array("a","b","c","d","e");      //定义原始数组
$output=array_slice($input,2);      //返回"c","d",和"e"
$output=array_slice($input,-2,1);     //返回"d"
$output=array_slice($input,0,3);     //返回"a","b",and,"c"
print_r(array_slice($input,2,-1));     //返回c、d不保留键名
print_r(array_slice($input,2,-1,true));     //返回c、d保留键名


//

$array=array('blue','red','green','red');    //定义原始数组
$key=array_search('green',$array);     //搜索green返回2;
echo $key;
echo "<br>";
$key=array_search('red',$array);     //搜索red返回第一个red的键1
echo $key;

//
$array=array("orange","banana","apple","rasp教程berry");   //定义初始数组
$result=array_shift($array);        //进行移出操作
print_r($result);           //显示弹出元素
echo "<br>";
print_r($array); 

//
$input=array("a"=>"green","red","b"=>"green","blue","red");   //定义原始数组
$result=array_unique($input);        //执行移除操作
print_r($result);

//
$array=array("orange","banana");      //定义原始数组
$result=array_unshift($array,"apple","raspberry");   //执行插入操作
print_r($result);          //显示结果
echo "<br>";
print_r($array);

$hostname="localhost";         //定义连接到的mysql服务器名
$username="root";          //定义用于连接的用户名
$password="";           //定义用于连接的密码
$link=mysql_connect($hostname,$username,$password);   //连接到mysql服务器
mysql_select_db("test",$link);        //选择数据库教程
//定义sql语句
$sql_str="update friends set name='andy' where id=1";
mysql_query($sql_str) or die("出现错误!");         //执行sql查询
echo mysql_info($link);


//定义sql语句,执行修改操作
$sql_str="insert into friends(name,sex,birthday,address)values('陈靖仇','男','593-08-23','天之痕')";
mysql_query($sql_str) or die("出现错误!");     //执行sql查询
printf("最后一次插入操作的id值为:%dn",mysql_insert_id());   //返回insert影响的id值

 

*/
function makedirectory($directoryname) {
       $directoryname = str_replace("","/",$directoryname);
       $dirnames = explode('/', $directoryname);
       $total = count($dirnames) ;
       $temp = '';
       for($i=0; $i<$total; $i++) {
         $temp .= $dirnames[$i].'/';
         if (!is_dir($temp)) {
            $oldmask = umask(0);
            if (!mkdir($temp, 0777)) exit("不能建立目录 $temp");
            umask($oldmask);
         }
       }
       return true;
}
标签:[!--infotagslink--]

您可能感兴趣的文章: