Tất cả các hàm trong php, các hàm hữu dụng trong php

Hiện nay ngôn ngữ PHP có tương đối nhiều framework điển trong khi Laravel, CakePHP, CodeIgniter, ... Ngoài các hàm nhưng mà php đã hỗ trợ thì những framework cũng đã hộ trợ không ít các hàm để người lập trình dễ ợt thao tác với array, string, math. Tuy nhiên để hiểu cụ thể và những hàm được gây ra và chuyển động như làm sao thì chưa phải người lập trình nào cũng nắm được. Bài viết này sẽ giới thiệu cho bọn họ cách sử dụng tương tự như cách viết của một trong những hàm hữu dụng.

Bạn đang xem: Tất cả các hàm trong php, các hàm hữu dụng trong php

*

1. Arrayalltrả về là true nếu kết quả trả về là tất những các giá trị trong mảng cùng là false giả dụ ngược lại

function all($items, $func) return count(array_filter($items, $func)) === count($items);ví dụ

all(<2, 3, 4, 5>, function ($item) return $item > 1;); // trueanytrả về là true nếu kết quả trả về ít nhất một trong những phần tử trong mảng cùng là false ví như ngược lạifunction any($items, $func) return count(array_filter($items, $func)) > 0;any(<1, 2, 3, 4>, function ($item) return $item 2;); // truedeepFlattenLàm phẳng một mảng các chiều thành mảng một chiều.function deepFlatten($items) $result = <>; foreach ($items as $item) if (!is_array($item)) $result<> = $item; else $result = array_merge($result, deepFlatten($item)); return $result;ví dụ

deepFlatten(<1, <2>, <<3>, 4>, 5>); // <1, 2, 3, 4, 5>drop trả về một mảng với n bộ phận được vứt bỏ từ mặt tráifunction drop($items, $n = 1) return array_slice($items, $n);ví dụ

drop(<1, 2, 3>); // giả dụ khồng truyền vào thông số thì mang định 1 phần từ bên trái bị loại bỏ bỏ khi này phần trường đoản cú đâu tiên phía bên trái sẽ bị loại bỏ bỏ kết quả trả về còn magnr không 2 thành phần <2,3>drop(<1, 2, 3>, 2); // <3>findLast trả về phần tử cuối cùng thông qua điều kiện đã cho.function findLast($items, $func) $filteredItems = array_filter($items, $func); return array_pop($filteredItems);ví dụ

findLast(<1, 2, 3, 4>, function ($n) return ($n % 2) === 1;);// 3thông qua đk có nhị phân từ thỏa mãn <1, 3> với ta lấy bộ phận cuối cùng là 3

findLastIndex trả về chỉ mục của bộ phận cuối cùng trải qua điều kiện sẽ cho

function findLastIndex($items, $func) $keys = array_keys(array_filter($items, $func)); return array_pop($keys);ví dụ

findLastIndex(<1, 2, 3, 4>, function ($n) return ($n % 2) === 1;);// 2groupBy đội các bộ phận của mảng dựa vào hàm mang lại sẵnfunction groupBy($items, $func) $group = <>; foreach ($items as $item) if ((!is_string($func) && is_callable($func)) return $group;ví dụ

groupBy(<"one", "two", "three">, "strlen"); // <3 => <"one", "two">, 5 => <"three">>như ví dụ sống trên ta dựa vào hàm strlen nhằm nhóm các thành phần có thuộc số kí tự vào một trong những nhóm với key là số kí tự.

hasDuplicates kiểm tra list các bộ phận trong mảng nếu có tối thiểu hai giá bán trị bộ phận trùng lặp thì trả về true còn những giá trị của mảng là tuyệt nhất thì trả về false

function hasDuplicates($items) return count($items) > count(array_unique($items));ví dụ

hasDuplicates(<1, 2, 3, 4, 5, 5>); // truehasDuplicates(<1, 2, 3, 4, 5>); // falsehead trả về giá bán trị thành phần đầu tiên của mảngfunction head($items) return reset($items);ví dụ

head(<1, 2, 3>); // 1last trả về giá chỉ trị thành phần cuối cùng của mảngfunction last($items) return end($items);ví dụ

last(<1, 2, 3>); // 3pluck lấy toàn bộ giá trị bao gồm chung key đã cho sẵnfunction pluck($items, $key) return array_map( function($item) use ($key) return is_object($item) ? $item->$key : $item<$key>; , $items);ví dụ

pluck(< <"product_id" => "prod-100", "name" => "Desk">, <"product_id" => "prod-200", "name" => "Chair">,>, "name");// <"Desk", "Chair">ở lấy ví dụ trên hàm pluck trả về một mảng gồm chung key là "name" mà ta truyền vào.

pull nhằm lọc ra những giá trị được truyền vào.

Xem thêm: Tốc Độ Baud Là Gì ? Nghĩa Của Từ Baud Rate Trong Tiếng Việt Sự Khác Biệt Giữa Tốc Độ Bit Và Tốc Độ Truyền

function pull(&$items, ...$params) $items = array_values(array_diff($items, $params)); return $items;ví dụ

$items = <"a", "b", "c", "a", "b", "c">;pull($items, "a", "c"); // $items will be <"b", "b">ở ví dụ như trên khi truyền vào hàm pull 2 quý giá "a", "c" thì hai cực hiếm này đã bị loại bỏ ra khỏi mảng.

reject thải trừ các phần tử không thỏa mãn nhu cầu điều kiện cho trước

function reject($items, $func) return array_values(array_diff($items, array_filter($items, $func)));ví dụ

reject(<"Apple", "Pear", "Kiwi", "Banana">, function ($item) return strlen($item) > 4;); // <"Pear", "Kiwi">remove thải trừ các phần tử trong mảng khi hàm trả về là falsefunction remove($items, $func) $filtered = array_filter($items, $func); return array_diff_key($items, $filtered);ví dụ

remove(<1, 2, 3, 4>, function ($n) return ($n % 2) === 0;);// <0 => 1, 2 => 3>tail lấy toàn bộ các phần từ bỏ của mảng trừ phần tử đầu tiênfunction tail($items) return count($items) > 1 ? array_slice($items, 1) : $items;ví dụ

tail(<1, 2, 3>); // <2, 3>take lôi ra một mảng tất cả n thành phần đầu tiênfunction take($items, $n = 1) return array_slice($items, 0, $n);ví dụ

take(<1, 2, 3>, 5); // <1, 2, 3>take(<1, 2, 3, 4, 5>, 2); // <1, 2>without thải trừ các thành phần mà giá chỉ trị của nó trùng với cái giá trị của các phần từ truyền vàofunction without($items, ...$params) return array_values(array_diff($items, $params));ví dụ

without(<2, 1, 2, 3>, 1, 2); // <3>orderBy sắp tới sếp tăng cao hoặc sút dần những giá trị của mảng theo key truyền vàofunction orderBy($items, $attr, $order) $sortedItems = <>; foreach ($items as $item) $key = is_object($item) ? $item->$attr : $item<$attr>; $sortedItems<$key> = $item; if ($order === "desc") krsort($sortedItems); else ksort($sortedItems); return array_values($sortedItems);ví dụ

orderBy( < <"id" => 2, "name" => "Joy">, <"id" => 3, "name" => "Khaja">, <"id" => 1, "name" => "Raja"> >, "id", "desc"); // <<"id" => 3, "name" => "Khaja">, <"id" => 2, "name" => "Joy">, <"id" => 1, "name" => "Raja">>2.Mathaverage trả về giá trị trung bình của những giá trị truyền vàofunction average(...$items) $count = count($items); return $count === 0 ? 0 : array_sum($items) / $count;ví dụ

average(1, 2, 3); // 2factorial cần sử dụng đệ quy nhằm tính giai thừafunction factorial($n) if ($n 1) return 1; return $n * factorial($n - 1);ví dụ

factorial(6); // 720gcd tính ước số chung lớn nhất của nhị hay các sốfunction gcd(...$numbers) if (count($numbers) > 2) return array_reduce($numbers, "gcd"); $r = $numbers<0> % $numbers<1>; return $r === 0 ? abs($numbers<1>) : gcd($numbers<1>, $r);ví dụ

gcd(8, 36); // 4gcd(12, 8, 32); // 4median tính trung vị của một mảng

*

function median($numbers) sort($numbers); $totalNumbers = count($numbers); $mid = floor($totalNumbers / 2); return ($totalNumbers % 2) === 0 ? ($numbers<$mid - 1> + $numbers<$mid>) / 2 : $numbers<$mid>;ví dụ

median(<1, 3, 3, 6, 7, 8, 9>); // 6median(<1, 2, 3, 6, 7, 9>); // 4.53. StringendsWith đánh giá chuỗi ngừng có nên là chuỗi truyền vào xuất xắc khôngfunction endsWith($haystack, $needle) return strrpos($haystack, $needle) === (strlen($haystack) - strlen($needle));ví dụ

endsWith("Hi, this is me", "me"); // truefirstStringBetween trả về chuỗi trước tiên giữa tham số bắt đầu và thông số kết thúcfunction firstStringBetween($haystack, $start, $end) return trim(strstr(strstr($haystack, $start), $end, true), $start . $end);ví dụ

firstStringBetween("This is a string", "<", ">"); // customtham số ban đầu là "<" tham số dứt là ">"

isAnagram so sánh 2 chuỗi với trả về là true giả dụ 2 chuối đố là đảo người của nhau là false nếu như ngược lại

function isAnagram($string1, $string2) return count_chars($string1, 1) === count_chars($string2, 1);isAnagram("act", "cat"); // trueisLowerCase trả về tác dụng là true trường hợp chuối là chữ thường ngược lại thì trả về falsefunction isLowerCase($string) return $string === strtolower($string);ví dụ

isLowerCase("Morning shows the day!"); // falseisLowerCase("hello"); // trueisUpperCase trả về true nếu chuỗi đã cho rằng chữ in hoa trái lại thì trả về là falsefunction isUpperCase($string) return $string === strtoupper($string);ví dụ

isUpperCase("MORNING SHOWS THE DAY!"); // trueisUpperCase("qUick Fox"); // falsecountVowels trả về số nguyên âm vào một chuỗi. áp dụng một biểu thức thiết yếu quy nhằm đếm số nguyên âm (A, E, I, O, U) vào một chuỗi.function countVowels($string) preg_match_all("//i", $string, $matches); return count($matches<0>);ví dụ

countVowels("sampleInput"); // 4Kiểm tra một từ bỏ / chuỗi có tồn tại trong đầu vào một chuỗi đã cho không nếu tất cả trả về true còn không thì trả về falsefunction isContains($string, $needle) return strpos($string, $needle) === false ? false : true;ví dụ

isContains("This is an example string", "example"); // trueisContains("This is an example string", "hello"); // false

Giải thích một số trong những hàm bao gồm sẵn của php đã cần sử dụng ở trên

array_filter Truyền mảng vào như là tham số trước tiên và một hàm ẩn danh làm cho tham số sản phẩm hai. Trả về true trong một hàm callback nếu còn muốn để lại thành phần này trong mảng, và false còn nếu không muốnarray_merge Các bộ phận của các mảng sẽ được hợp tuyệt nhất lại với nhau, và những giá trị với cùng 1 khoá sẽ ảnh hưởng ghi đè bởi giá trị cuối cùngarray_slice Để lấy một trong những phần của mảng, ví dụ, chỉ ba phần tử đầu tiên của mảng.array_values trả về một mảng các giá trị đã làm được lập chỉ mục.array_keys trả về một mảng những khoá của một mảng đến trướcarray_flip đổi chỗ các khoá với các giá trịarray_unique lấy những giá trị độc nhất từ ​​một mảng bằng cách sử dụng hàm. Chú ý rằng hàm này vẫn bảo lưu những khoá của các thành phần duy độc nhất vô nhị đầu tiênarray_map hoàn toàn có thể áp dụng một callback mang lại mỗi bộ phận của một mảng.$numbers = <1, -2, 3, -4, 5>;$squares = array_map(function($number) return $number ** 2;, $numbers); print_r($squares); // <1, 4, 9, 16, 25>array_diff để loại bỏ các quý hiếm của mảng khỏi một mảng không giống (hoặc các mảng).array_sum để lấy tổng những giá trị của mảngarray_product nhằm nhân chúngarray_reduce để tạo công thức riêngTài liệu tham khảo