菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1733
6

每日五个 PHP 函数(2)

原创
05/13 14:22
阅读数 1550

上面文章《每日五个 PHP 函数》已爆炸,更新不了了,哈哈

大佬们可以留言函数练习的题目呀,每天找个小练习好吃亏,哈哈

2019/03/10

至此已经回顾完啦

2019/03/08

2019/03/07

2019/03/06

2019/03/05

2019/03/04

2019/03/02

2019/03/01

2019/02/28

2019/02/27

2019/02/26

2019/02/25

抓紧复习

2019/02/24

2019/02/23

  • 今日小练习

利用 currentnext 完成数组的遍历

$fruits = ['apple', 'strawberry', 'pear', 'orange'];

while ($curFruit = current($fruits)) {
    echo "current fruit is " . $curFruit . "\n"; 

    next($fruits);
}

// 输出:
current fruit is apple
current fruit is strawberry
current fruit is pear
current fruit is orange

/*
说明:每个数组中都会有一个内部的指针指向它的”当前“元素,初始指向数组中第一个元素。

1. current()返回数组中当前元素(指针指向的元素)的值,该函数不会移动指针

以下函数均有移动指针的作用:

2. reset()将内部指针指向数组中的第一个元素,如果成功,返回数组第一个元素的值,否则返回 false
3. end()将内部指针指向数组中最后一个元素,并返回元素的值
4. next()将内部指针指向数组中下一个元素,如果成功,返回元素的值,否则返回 false
5. prev()将内部指针指向数组中上一个元素,如果成功,返回元素的值,否则返回 false
6. each()返回当前元素的键和值,并向前移动指针 
*/

2019/02/22

  • 今日小练习

在寻找中发现了这篇文章,还挺有意思的,大伙可以看看,《 巧妙利用php数组函数,解决二维数组查找问题 》

2019/02/21

  • 今日小练习
// 说明:array_merge 与 + 的区别

$arrOne = array("a", "b", "c");
$arrTwo = array("b", "d", "e");

$arrAdd = $arrOne + $arrTwo;
$arrMerge = array_merge($arrOne, $arrTwo);

print_r($arrAdd);
print_r($arrMerge);

// 依次输出:
Array
(
    [0] => a
    [1] => b
    [2] => c
)

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => b
    [4] => d
    [5] => e
)

$arrThree = array("a" => "a", "b" => "b", "c" => "c");
$arrFour = array( "b" => "b2", "d" =>  "d", "e" => "e");

$arrAdd = $arrThree + $arrFour;
$arrMerge = array_merge($arrThree, $arrFour);

print_r($arrAdd);
print_r($arrMerge);

// 依次输出:
Array
(
    [a] => a
    [b] => b
    [c] => c
    [d] => d
    [e] => e
)
Array
(
    [a] => a
    [b] => b2
    [c] => c
    [d] => d
    [e] => e
)

$arrFive = array(1 => "a", 2 => "b", 4 => "c");
$arrSix = array( 3 => "b", 5 =>  "d", 4 => "e");

$arrAdd = $arrFive + $arrSix;
$arrMerge = array_merge($arrFive, $arrSix);

print_r($arrAdd);
print_r($arrMerge);

// 依次输出:
Array
(
    [1] => a
    [2] => b
    [4] => c
    [3] => b
    [5] => d
)
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => b
    [4] => d
    [5] => e
)

从上面的例子中可以看到 array_mergekey 为数字的时候完全免疫,直接累加了,且对所有 key 重置了, 而 + 对数字和字符串都不免疫,key 值相同的前面的覆盖后面的。array_merge 对相同的 key (非数字),后面的覆盖前面的。

2019/02/20

  • 今日小练习
// 说明:取出 users 中所有 user 的 id (users 可能是一个包含用户信息的数组,也可能是一个 id 数组)

$users = array(2, 3);
// Or
$users = array(array('id' => 2, 'name' => 'Lhao', 'age' => 24), array('id' => 3, 'name' => 'Wjh', 'age' => 24));

if (is_array($first = \reset($users)) && \array_key_exists('id', $first)) {
    $users = \array_column($users, 'id');
}
print_r($users);

// 输出:
Array
(
    [0] => 2
    [1] => 3
)
php

发表评论

0/200
1733 点赞
6 评论
收藏
为你推荐 换一批