PHP表上的4个实用功能
#网络开发人员 #初学者 #php #法国

介绍

如果您是PHP VELP,则通常会降低为操纵绘画。而且,当您需要在桌子上做一个操作时,通常会使用foreach循环进行。但是,为什么您会脱离PHP功能?我要展示一些可以让您进行循环并显示您的意图ð

数组过滤器

他的名字很明确:如果您需要过滤表,则此功能是为此完成的。第一个参数,您通过表,第二个参数将是回调函数。从Flèche功能中,您甚至可以让自己单行进行。有点访问:

$foods = ['🍔', '🍔', '🍔', '🍕', '🍕'];

// retourne un tableau avec 3 délicieux burgers
array_filter($foods, fn ($food) => $food === '🍔');
// retourne un tableau avec 2 magnifiques pizzas
array_filter($foods, fn ($food) => $food === '🍕');

ð€提示:如果要删除桌子中的空白老年人,则可以转到php strlen的功能:array_filter($ array,strlen'')

数组地图

CAF与JavaScript中的相同:如果您想通过应用功能来改变表的版本,则在这里发生汽车。让我们说,您不喜欢汉堡,您想要5位漂亮的吉诺厨师的首领,所以使用Flôche功能,只需这样做:

array_map(fn () => '🍕', $foods);

Array_map的另一个很酷的情况,CAF可以同时在两个表(或 +!)上进行:

$firstnames = ['Bruce', 'Alfred'];
$lastnames = ['Wayne', 'Pennyworth'];

$fullnames = array_map(function ($firstname, $lastname) {
     return $firstname . ' ' . $lastname;
}, $firstnames, $lastnames);
因此

阵列减少

要更改汉堡和比萨饼(但不太ð),我们将继续进行一个更具体的例子。想象一个购买篮子,我们可以在其中放产品。为此:购物车课和产品课。在ShoppingCart中,我添加了一个计算机thode,可以制作每种产品的价格。我们没有制作循环,而是使用array_reduce:

class ShoppingCart
{
    public function __construct(
        public array $products,
        public float $total = 0
    ) {
        $this->total = $this->computeTotal();
    }

    private function computeTotal(): float
    {
        return array_reduce($this->products, fn ($acc, $product) => $acc += $product->price, 0);
    }
}

class Product
{
    public function __construct(
        public string $name,
        public float $price
    ) {}
}

$burger = new Product(name: 'burger', price: 10.00);
$pizza = new Product(name: 'pizza', price: 15.00);

$shoppingCart = new ShoppingCart([$burger, $pizza]);
$total = $shoppingCart->total;

那是如何工作的?第一个参数是我们的产品表。然后,我们有一个回调函数,该函数采用两个参数:此处产生的变量和当前值。第三个参数CAF是初始化我之前所说的变量(其中包含的变量)。每个都是,我们降低了产品的价格,并添加到$ acc。返回的价值将是所有价格的增加。超级实用!如果表为空,则为0,将返回ð

阵列步行

与完成的维持一样实用。 array_walk的工作原理类似于array_map,但防御咖啡厅是array_walk具有直接修改表值的可能性。这意味着您不必分配变量。实际上,如果该函数的第一个参数已通过奖励传递,则原始表的值将更改。

在此示例中,Array_walk将浏览表并在每个标题上应用UCWords()函数。由于我的匿名功能通过奖励重新出现了第一个参数,因此$电影中包含的标题将得到很好的修改。

$movies = ['the lord of the rings', 'the guardian of the galaxy'];
$titleCase = fn (&$title, $key) => $title = ucwords($title);
array_walk($movies, $titleCase);

结论

您将在表上看到或修订了我的4个功能,这些功能在许多情况下可能是实用的。文档中有一个美丽的三折(PHP: Fonctions sur les tableaux)。如果您必须在桌子上完成,而不是网站不看看看,也许您将能够使用foreach的使用。我并不是说汽车很糟糕,但也许更简洁,根据应用功能,我们可以理解意图。
您可以直接在这里找到这篇文章 - surlescocottes.vercel.app