js333 > 计算机互联网 > php数组相关函数的使用,数组添加关联元素的方

原标题:php数组相关函数的使用,数组添加关联元素的方

浏览次数:93 时间:2019-10-02

在"php 数组添加元素方法总结这篇文章中介绍了如何给数组添加元素,那么我想添加$array=array('title'=>'php教程')这样的元素怎么办呢。

一,一维数组增加元素

创建数组就不再说了  array()函数

增加数据元素有函数,array_push(),array_unshift()函数

array_push, array_pop, array_shift, array_unshift 这几个函数都是为数字类型的索引数组设计的。
要想实现关联数组的添加可以使用array_merge方法或者是+操作符

$ArrayList = ArrayListay(); 
Array_push($ArrayList, el1, el2 ... eln); 

提取数组可以用list().

一、在数组的末尾添加元素

我们先来看数组中增加数组元素

但其实有一种更直接方便的做法:

测试数组元素 ,可以用is_array()

1.array_push

  1. php中增加数组元素的方法:

 代码如下

接受一个参数,传进来的变量,如果变量是数组,返回true如果不是返回false.

使用方法

(1)通过赋值增加数组元素 :$states[‘name’]=’Tom’;

$ArrayList = ArrayListay(); 
$ArrayList[] = el1; 
$ArrayList[] = el2; 
... 
$ArrayList[] = eln; 

添加和删除数组元素

 代码如下

(2)int array_push(array target_array,mixed variable [,mixed variable…]) 函数将variable增加到target_array的末尾,成功时返回true,否则返回false,其中variable可以是多个。

两种方法得出的效果是一样的

数组的fifo和lifo

<?php
    $stack = array("orange", "banana");
    array_push($stack, "apple", "raspberry");
    print_r($stack);
?>
输出:
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)

(3)int array_unshift(array target_array,mixed variable [,mixed variable…]) 函数将variable增加到target_array的数组头,成功时返回true,否则返回false,其中variable可以是多个。所有已有的数值键都会相应地修改,而关联键不受影响。

添加一个或多个元素

先解释下什么是fifo和lifo

2.$arr[]

(4)array array_pad(array target_array,integer length,mixed pad_value) 将target_array 的大小增加到length指定的长度。

 代码如下

删除元素与加入元素的顺序相同,称为先进先出,既first-in-first-out

使用方法

使用array_push或者array_unshift这两个方法行么?

<?php
    $ArrayList1 = ArrayListay("a", "b");
    Array_push($ArrayList1, "c", "d");
    print_r($ArrayList1);
  ?>
  运行结果:
   ArrayListay
  (
   [0] => a
   [1] => b
   [2] => c
   [3] => d
  )

删除元素与加入元素的顺序相反,称为后进先出,既last-in-first-out

<?php

答案是否定的

注:如果第一个参数不是数组,ArrayListay_push() 将发出一条警告

相对应的对数组的操作

    $arr = array("orange", "banana");
    $arr[]='apple';
    print_r($arr);
?>

具体方法:

在数组开头插入元素

  • array_unshift()

  • int aray_unshift(array array,mixed variable [,mixed variable...])

这两种的效果是一样的

1.使用array_merge方法实现类似array_unshift在开头添加元素的功能

1.ArrayListay_unshift

在数组头添加元素,所有已有的数值键都会相应的改变,以反映在数组中的新位置,关联键不受影响.

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

 代码如下

使用方法

例:

二、在数组开头插入元素

<?php
$queue = array('a', 'B');
$queue = array_merge(array('front' => 'hello'), $queue);
/*
Array
(
    [front] => hello
    [0] => a
    [1] => b
)
*/
?>

 代码如下

<?php

1.array_unshift

2.+操作符

<?php
$array_Qlist = ArrayListay("军民联防", "banana");
Array_unshift($array_Qlist, "西瓜", "吹牛B");
print_r($array_Qlist);
?>

$words = array('a','b','c');

使用方法

 代码如下

输出

print_r($words);

 代码如下

<?php
$queue = array('a', 'B');
$queue = array('front' => 'Hello') + $queue;
?>

ArrayListay
(
    [0] => 西瓜
    [1] => 吹牛B
    [2] => 军民联防
    [3] => banana
)

//array([0]->a,[1]->b,[2]->c);

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

输出结果与使用array_merge方法一样。

数组添加关联元素使用使用ArrayListay_push或者ArrayListay_unshift是行不通了,那么我们要如何增加呢

array_unshift($words,'d');

输出

3.在元素结尾添加关联数组元素

使用ArrayListay_merge方法实现类似ArrayListay_unshift在开头添加元素的功能

print_r($words);

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

 代码如下

 代码如下

//array([0]->d,[1]->a,[2]->b,[3]->c);

删除数组元素unset,或直接设置空

<?php
$queue = array('a', 'B');
$queue['front'] = 'hello';
/*
输出
Array
(
    [0] => a
    [1] => b
    [front] => hello 
)
*/
?>

<?php
$array_Qlist = ArrayListay('a', 'B');
$array_Qlist = Array_merge(ArrayListay('front' => '你好小www.111cn.net'), $array_Qlist);
/*
ArrayListay
(
    [front] => 你好小www.111cn.net
    [0] => a
    [1] => b
)
*/
?>

  • array_shift()

  • mixed array_shift(array array)

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊

2.+操作符

从数组头删除元素,删除并返回数组中找到的元素,结果是,如果使用的是数值键,则所有相应的值都会下移.如果使用的是关联键,数组不受影响.

 代码如下

 代码如下

例:

<?php 
$arr = array('a','b','c','d'); 
unset($arr[1]); 
print_r($arr); 
?> 
 
print_r($arr)

<?php
$array_Qlist = Array('a', 'B');
$array_Qlist = Array('front' => '你好小www.111cn.net') + $array_Qlist;
?>

<?php
$words = array('a','b','c');

之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )

输出结果与使用ArrayListay_merge方法一样。

print_r($words);

 

3.在元素结尾添加关联数组元素

//array([0]->a,[1]->b,[2]->c);

那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():

 代码如下

array_shift($words,'a');

 代码如下

<?php
$array_Qlist = ArrayListay('a', 'B');
$array_Qlist['front'] = '你好小www.111cn.net';
/*
输出
ArrayListay
(
    [0] => a
    [1] => b
    [front] => 你好小www.111cn.net 
)
*/
?>

print_r($words);

<?php 
$arr = array('a','b','c','d'); 
array_splice($arr,1,1); 
print_r($arr);
?>

至于有些朋友说Array_push增加元素与直接$a[]='a'这种性能要差点之外其它的都是一样,如果只要一个值就没可比性了哦。

//array([0]->b,[1]->c);

print_r($arr)之后,结果是Array ( [0] => a [1] => c [2] => d )

  • 金沙js333娱乐场,array_push()

  • int array_push(array array ,mixed variable [,mixed variable...])

删除数组指定元素

从数组尾添加元素,将variable添加到数组的末尾,成功返回true 失败返回false.可以传递多个参数,作为输入,同时向数组压入多个变量.

如array_slice() 函数在数组中根据条件取出一段值,并返回.

例:

array_slice(array,offset,length,preserve)

<?php$stack = array("orange", "banana");array_push($stack, "apple", "raspberry");print_r($stack);?>

array:数组

本例将使 $stack 具有如下单元:

offset: 规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。

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

 


 代码如下

上例摘自PHP手册.对于数组操作,使用$array[]=,可以增加效率.因为不需要调用函数.

<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
?>

--------------------聪明的分割线-----------------------------

输出

  • array_pop()

  • mixed array_pop(array target_array)

Array ( [0] => Cat [1] => Horse )

从数组末尾删除元素并返回数组的最后一个元素.

还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值.

<?php$stack = array("orange", "banana", "apple", "raspberry");$fruit = array_pop($stack);print_r($stack);?>

相对的array_pop() 函数删除数组中的最后一个元素.

经过此操作后,$stack 将只有 3 个单元:

几个函数用下来觉得array_search()比较实用

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

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


 代码如下

上例摘自PHP手册

$array = array('1', '2', '3', '4', '5');

-------------------------聪明的分割线-----------------

$del_value = 3;
unset($array[array_search($del_value , $array)]);//利用unset删除这个元素

自己的一些总结和观点.

print_r($array);

以上四个函数,有的时候可能用处很大,首先说返回值

输出

注意array_unshift()和array_push()的返回值应该是布尔型,但是手册上和相关图书上都标注说返回的是int型.这个值得思考.

array('1', '2', '4', '5');

array_shift()和array_pop()两个函数不仅能够实现删除相关数组的元素,并且能够返回所删除的数组元素.先写到这里,后面还有很多.慢慢总结.

您可能感兴趣的文章:

  • php数组转换js数组操作及json_encode的用法详解
  • PHP数组排序函数合集 以及它们之间的联系分析
  • 判断php数组是否为索引数组的实现方法
  • 如何判断php数组的维度
  • php数组声明、遍历、数组全局变量使用小结
  • php数组(array)输出的三种形式详解
  • php数组的概述及分类与声明代码演示
  • PHP数组循环操作详细介绍 附实例代码
  • php数组去重的函数代码
  • PHP数组传递是值传递而非引用传递概念纠正
  • PHP数组无限分级数据的层级化处理代码
  • PHP数组及条件,循环语句学习
  • php获取数组长度的方法(有实例)

本文由js333发布于计算机互联网,转载请注明出处:php数组相关函数的使用,数组添加关联元素的方

关键词:

上一篇:php中文乱码问题总结与解决办法,PHP统一页面编

下一篇:没有了