PHP имеет оператор "..." (Три точки), который отнесен как Оператор Нащельной рейки. Это используется для передачи произвольного числа параметров в функции, и этот тип функции вызывают Функции Variadic. Let’s берут примеры к использованию "..." (Три точки).
Пример 1:
<?php
function calculateNumbers(...$params){
$total = 0;
foreach($params as $v){
$total = $total + $v;
}
return $total;
}
echo calculateNumbers(10, 20, 30, 40, 50);
//Output 150
?>
Каждый аргументы calculateNumbers () функция проходят через $params как через массив когда использование "†¦".
существует много различных способов использовать оператор "†¦". Ниже некоторых примеров:
Пример 2:
<?php
function calculateNumbers($no1, $no2, $no3, $no4, $no5){
$total = $no1 + $no2 + $no3 + $no4 + $no5;
return $total;
}
$numbers = array(10, 20, 30, 40, 50);
echo calculateNumbers(...$numbers);
//Output 150
?>
Пример 3:
<?php
function calculateNumbers(...$params){
$total = 0;
foreach($params as $v){
$total = $total + $v;
}
return $total;
}
$no1 = 70;
$numbers = array(10, 20, 30, 40, 50);
echo calculateNumbers($no1, ...$numbers);
//Output 220
?>
Пример 4:
<?php
function calculateNumbers(...$params){
$total = 0;
foreach($params as $v){
$total = $total + $v;
}
return $total;
}
$numbers1 = array(10, 20, 30, 40, 50);
$numbers2 = array(100, 200, 300, 400, 500);
echo calculateNumbers(...$numbers1, ...$numbers2);
//Output 1650
?>
Одно из основных отличий заключается в том, что программа awk может поддерживать состояние и может работать с использованием нескольких проходов над одними и теми же данными. Вызов sed обязательно является однопроходным без сохранения состояния, потому что sed (Stream EDitor) изначально ориентирован на поток. Однако преимущество в том, что это делает sed более простым и подходящим для использования в конвейерных цепочках.
G'day,
Awk более мощный. sed имеет тенденцию быть более ограниченным в том, что он может делать.
Sed хорош для построчных изменений данных. В нем есть несколько простых циклических конструкций, обычные элементы регулярных выражений ed / ex / vi и функции подстановки, составные операторы, решения и т. Д. Большинство людей используют его для изменения передаваемых данных.
Awk хорош для фильтрации или переупорядочения данных. Его чаще всего используют для составления отчетов.
Я бы посоветовал взглянуть на отличную книгу Дейла Догерти «sed & awk» ( продезинфицированная ссылка на Amazon ). Кстати, здесь также есть одно из лучших объяснений регулярных выражений.
Многие люди все равно сказали бы использовать Perl! (-:
Редактировать: Забыл сказать, что язык awk очень похож на язык C, что неудивительно, учитывая, что 'k' в awk означает Брайана Кернигана. Да. Это Брайан Керниган!
Также sed работает только с потоками данных, тогда как awk работает как с потоками данных, так и с файлами.
HTH
ура, Sed работает только с потоками данных, тогда как awk работает с как потоки данных, так и файлы.
В оригинале (и до сих пор лучший) книга, Язык программирования AWK , реализовано следующее (среди прочего):
Попробуйте сделать это с сед.
Единственное, что я могу придумать, - это то, что sed может делать небольшие изменения за меньшее количество символов в awk. Так что для быстрой настройки живой оболочки ее быстрее набирать.
SED является потоковым редактором и поэтому не имеет переменных и некоторых других конструкций, подобных AWK. AWK - полноценный язык.