您的位置:

php数组算法,php处理数组的函数

本文目录一览:

php数组定位的算法 已知固定数组: $arr=array('0','1','2','3','4','5','6','7','8','9','10','11');

?php

$arr=array('0','1','2','3','4','5','6','7','8','9','10','11');

//direction true 表示逆时针 false 表示顺时针

//$pos 起始位置键值(注意是键值)

//$count 走的步数

//$b 数组长度

function change($direction,$pos,$b,$count){

   if($count=-1) {

      $count--;

      if ($direction) {

         if ($pos = $b) {

            return change(false, --$pos, $b,$count);

         } else {

            return change(true, ++$pos, $b,$count);

         }

      } else {

         if ($pos = 0) {

            return change(true, ++$pos, $b,$count);

         } else {

            return change(false, --$pos, $b,$count);

         }

      }

   }else{

      return $pos;

   }

}

$k =  change(true,10,count($arr),11);

echo $arr[$k+1];

?

求PHP 数组的任意组合的算法函数

function getRank($arr, $len=0, $str="") {

global $arr_getrank;

$arr_len = count($arr);

if($len == 0){

$arr_getrank[] = $str;

}else{

for($i=0; $i$arr_len; $i++){

$tmp = array_shift($arr);

if (empty($str))

{

getRank($arr, $len-1, $tmp);

}

else

{

getRank($arr, $len-1, $str.",".$tmp);

}

// array_push($arr, $tmp);

}

}

}

测试:

$words = array('a1','b2','c3','d4','e5');

$arr_getrank = array();

getRank($words, 3);

print_r($arr_getrank);

输出:

Array

(

[0] = a1,b2,c3

[1] = a1,b2,d4

[2] = a1,b2,e5

[3] = a1,c3,d4

[4] = a1,c3,e5

[5] = a1,d4,e5

[6] = b2,c3,d4

[7] = b2,c3,e5

[8] = b2,d4,e5

[9] = c3,d4,e5

)

php 常用的数组函数都有哪些? 作用是什么?有什么特点? 怎么使用?

php常用的数组函数的作用特点如下:

array_change_key_case       -- 返回字符串键名全为小写或大写的数组

array_chunk                 -- 将一个数组分割成多个

array_combine           -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_count_values      -- 统计数组中所有的值出现的次数

array_diff_assoc        -- 带索引检查计算数组的差集

array_diff_key          -- 使用键名比较计算数组的差集

array_diff_uassoc       -- 用用户提供的回调函数做索引检查来计算数组的差集

array_diff_ukey         -- 用回调函数对键名比较计算数组的差集

array_diff              -- 计算数组的差集

array_fill_keys         -- 使用指定的键和值填充数组

array_fill              -- 用给定的值填充数组

array_filter            -- 用回调函数过滤数组中的单元

array_flip              -- 交换数组中的键和值

array_intersect_assoc   -- 带索引检查计算数组的交集

array_intersect_key     -- 使用键名比较计算数组的交集

array_intersect_uassoc  -- 带索引检查计算数组的交集,用回调函数比较索引

array_intersect_ukey    -- 用回调函数比较键名来计算数组的交集

array_intersect         -- 计算数组的交集

array_key_exists        -- 检查给定的键名或索引是否存在于数组中

array_keys              -- 返回数组中所有的键名

array_map               -- 将回调函数作用到给定数组的单元上

array_merge_recursive   -- 递归地合并一个或多个数组

array_merge             -- 合并一个或多个数组

array_multisort         -- 对多个数组或多维数组进行排序

array_pad               -- 用值将数组填补到指定长度

array_pop               -- 将数组最后一个单元弹出(出栈)

array_product           -- 计算数组中所有值的乘积

array_push              -- 将一个或多个单元压入数组的末尾(入栈)

array_rand              -- 从数组中随机取出一个或多个单元

array_reduce            -- 用回调函数迭代地将数组简化为单一的值

array_replace_recursive -- 使用传递的数组递归替换第一个数组的元素

array_replace           -- 使用传递的数组替换第一个数组的元素

array_reverse           -- 返回一个单元顺序相反的数组

array_search            -- 在数组中搜索给定的值,如果成功则返回相应的键名

array_shift             -- 将数组开头的单元移出数组

array_slice             -- 从数组中取出一段

array_splice            -- 把数组中的一部分去掉并用其它值取代

array_sum               -- 计算数组中所有值的和

array_udiff_assoc       -- 带索引检查计算数组的差集,用回调函数比较数据

array_udiff_uassoc      -- 带索引检查计算数组的差集,用回调函数比较数据和索引

array_udiff             -- 用回调函数比较数据来计算数组的差集

array_uintersect_assoc  -- 带索引检查计算数组的交集,用回调函数比较数据

array_uintersect_uassoc -- 带索引检查计算数组的交集,用回调函数比较数据和索引

array_uintersect        -- 计算数组的交集,用回调函数比较数据

array_unique            -- 移除数组中重复的值

array_unshift           -- 在数组开头插入一个或多个单元

array_values            -- 返回数组中所有的值

array_walk_recursive    -- 对数组中的每个成员递归地应用用户函数

array_walk              -- 对数组中的每个成员应用用户函数

array                   -- 新建一个数组

arsort                  -- 对数组进行逆向排序并保持索引关系

asort                   -- 对数组进行排序并保持索引关系

compact                 -- 建立一个数组,包括变量名和它们的值

count                   -- 计算数组中的单元数目或对象中的属性个数

current                 -- 返回数组中的当前单元

each                    -- 返回数组中当前的键/值对并将数组指针向前移动一步

end                     -- 将数组的内部指针指向最后一个单元

extract                 -- 从数组中将变量导入到当前的符号表

in_array                -- 检查数组中是否存在某个值

key                     -- 从关联数组中取得键名

krsort                  -- 对数组按照键名逆向排序

ksort                   -- 对数组按照键名排序

list                    -- 把数组中的值赋给一些变量

natcasesort             -- 用“自然排序”算法对数组进行不区分大小写字母的排序

natsort                 -- 用“自然排序”算法对数组排序

next                    -- 将数组中的内部指针向前移动一位

pos                     -- current 的别名

prev                    -- 将数组的内部指针倒回一位

range                   -- 建立一个包含指定范围单元的数组

reset                   -- 将数组的内部指针指向第一个单元

rsort                   -- 对数组逆向排序

shuffle                 -- 将数组打乱

sizeof                  -- count 的别名

sort                    -- 对数组排序

uasort                  -- 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

uksort                  -- 使用用户自定义的比较函数对数组中的键名进行排序

usort                   -- 使用用户自定义的比较函数对数组中的值进行排序

关于如何使用,那是要根据使用者需求来衡量,不能一言概括

使用语法如下:

?php

    $arr = array('Hello','World!');

    $arr = implode(',',$arr);

    

    echo $arr;

?

结果是:HelloWorld!

如果你想更多的了解php的数组函数,我建议你详细地去看看php手册

php手册官网: