首页 > 编程技术 > php

php数组操作函数之array_push()函数用法与定义

发布时间:2016-11-25 17:10

一个简单的array_push()函数用法,这个是对数组操作比较常用的一个函数,有需要的朋友可以参考一下

(PHP 4, PHP 5)

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

Report a bug 说明
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:

 代码如下 复制代码
<?php
$array[] = $var;
?>

并对每个 var 重复以上动作。

返回数组新的单元总数。


例子 1

 代码如下 复制代码
<?php
$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
?>

输出:

Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )例子 2
带有字符串键的数组:

 代码如下 复制代码
<?php
$a=array("a"=>"Dog","b"=>"Cat");
array_push($a,"Horse","Bird");
print_r($a);
?>

输出:

Array ( [a] => Dog [b] => Cat [0] => Horse [1] => Bird )

Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。

Note: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。

参见 array_pop(),array_shift() 和 array_unshift()。

 


If you want to preserve the keys in the array, use the following:

 代码如下 复制代码

<?php
function array_pshift(&$array) {
    $keys = array_keys($array);
    $key = array_shift($keys);
    $element = $array[$key];
    unset($array[$key]);
    return $element;
}
?>

删除数组中一个元素我们是最常见的了,今天只简单的介绍一下关于删除最后一个元素哦,如果想删除数组中的任意一个,可以利用我第二种方法,再加个if(){ unset()}就可以实现了。

实例

 代码如下 复制代码

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>
经过此操作后,$stack 将只有 3 个单元:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)


array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL


用了函数我们还可以利用其它的方法如

 代码如下 复制代码

<?
$array = array('ccc','www.111cn.net','abc','111cn.net');
$arrtmp = array();
for( $i=0;$i<count($array)-1;$i++ )
{
 $arrtmp[] = $array[$i];
}
print_r($arrtmp);

Array
(
    [0] => ccc
    [1] => www.111cn.net
    [2] => abc
)

?>

在我们刚学编程就知道各种排序算法,现在我们再次看看php 冒泡算法在实际应用中用法吧,有需要的朋友简单的参考一下。
 代码如下 复制代码

<?php
header('Content-Type: text/html; charset=utf-8');
//   简单冒泡算法      0 1 2 3 4
$a = array(5,4,3,2,1);  //5
echo  "比较54321   <br /><hr />";
function  mp($a){  //传值 要是数组
        //i=1 i<5 i++
        for($i=0;$i<count($a);$i++){ 
                /* j=3 j<i  j-- 
                 * 这里为什么要-2呢
                 * 因为数组是从0开始的 所以要-1
                 * 然后 一会要比较后一位 和倒数第二位  所以 要-2
                 * 当然 -1  也可以 只要把 $a[j+1]改成$a[j]  然后把$a[j] 改成$a[j-1] 即可
                 */
                for ($j=count($a)-2;$j>=$i;$j--){ 
                        //判断数组最大的位数  和第二大的相比
                         if ($a[$j+1]<$a[$j]){   
                                 echo  $a[$j+1],'------小于-----',$a[$j],'----------排列前:',fn($a);
               //如果最大的小于第二大的就换位置
                                 $tmp = $a[$j+1];  
                                   $a[$j+1]=$a[$j];
                                   $a[$j]=$tmp;
                                   echo '------------排列后:',fn($a),'<br><hr>';
                         }
                        
                }
               
               
        }
        return $a;
}

echo  fn(mp($a));


function fn($arr){
        foreach ($arr as $value){
                echo  $value;
        }       
}

   
?>

本文章缩合的了php的各种函数的用法来实现按指定元素值去除数组元素,有需要的朋友可以参考一下。

按指定元素值去除数组元素

 代码如下 复制代码

<?php//去除值为"Cat"的元素
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r($a);
unset($a[array_search("Cat",$a)]);
//array_search("Cat",$a)按元素值返回键名。去除后保持索引
print_r($a);
?>

下面会讲到关于array_search用法

显示结果

 代码如下 复制代码

去除前:
Array
(
    [a] => Dog
    [b] => Cat
    [c] => Horse
)

去除后:

Array
(
    [a] => Dog
    [c] => Horse
)


array_search()定义和用法
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

语法
array_search(value,array,strict)参数 描述
value 必需。规定在数组中搜索的值。
array 必需。被搜索的数组。
strict 可选。可能的值:

true
false - 默认
如果值设置为 true,还将在数组中检查给定值的类型。(参见例子 2)
 

例子 1

 代码如下 复制代码
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
?>输出:

a

本教程人简单的讲述一下关于php的中的统计数组中数字型数据的和函数array_sum()的用法。

例子1
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>"5",1=>"15",2=>"25");
echo array_sum($a);
?>

输出:

45

例子2
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>15,2=>25);
echo array_sum($a);
?>

输出:

45

例子3
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>15.5,2=>25);
echo array_sum($a);
?>

输出:

45.5

例子4
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>"15s",2=>25);
echo array_sum($a);
?>

输出:

45

例子5
 代码如下:

 代码如下 复制代码

<?php
$a=array(0=>5,1=>"s15s",2=>25);
echo array_sum($a);
?>

输出:

30

标签:[!--infotagslink--]

您可能感兴趣的文章: