Чат Telegram
Группа ВКонтакте
Новый комментарий


Dasgonder
first:
$array = [1, 3, 2];
sort($array);
$string = implode(":", $array);
echo $string;
second:
$array = [1, 2, 3, 4, 5];
$slice = array_slice($array, 1, 3);
var_dump($slice);
third:
$array = [1, 2, 5, 2, 3, 1, 6];
$unique = array_unique($array);
var_dump($unique);
ivashkevich

Отлично! Я бы решал точно так же :)

humanidis@gmail.com

Есть одно, очень элегантное решение последней задачи с помощью функции array_flip. Оно в два раза быстрее функции array_unique.

$array = [1, 2, 5, 2, 3, 1, 6];
$flipFlip = array_keys(array_flip($array));
var_dump($flipFlip);
ivashkevich

Я Вам скажу по секрету, вот так - ещё быстрее.

array_flip(array_flip($array))

При этом ещё и ключи сохранятся.

Однако, такие хаки работают только если в качестве значений в массиве будут лежать string или integer. С тем же float уже не получится:

$x = [1, 2.5];
array_flip($x);

Будет ошибка:

Warning: array_flip(): Can only flip STRING and INTEGER values!

В плане скорости - выигрыш. А под элегантностью в программировании мне привычнее понимать очевидность кода, чем его скорость работы.

Ставлю плюсик за то, что копнули поглубже :)

bratko

А как их сразу отсортировать в данном случае? Убрали повторяющиеся значения, но хочется чтоб они сразу сортировались по возрастанию.

ivashkevich

Только дополнительно отсортировав.

Andreo
// 1 задание
$arr = [1, 3, 2];
sort($arr);
$nextArr = implode(':',$arr);
echo $nextArr;

// 2 задание
$arr = [1, 2, 3, 4, 5];
$nextArr = range(2,4);
var_dump($nextArr);

// 3 задание
$arr = [1, 2, 5, 2, 3, 1, 6];
$nextArr = array_unique($arr);
var_dump($nextArr);
ivashkevich

Второе задание - некорректно. range возвращает просто массив с числами, никак не связанных с исходным массивом, вот тут правильно - https://webshake.ru/php-training-course/18#comment485

Остальные задания верны.

1nSide

1

$arr = [1,3,2];
// функция sort() сортерует массив от меньшего к большему.
sort($arr);
// с помощью фуекции implode() приобразуем массив в строку.
$format = implode(':',$arr);
echo $format;
ivashkevich

Отлично)

1nSide

2

// заполняем массив
$arr = [1,2,3,4,5];
// с помощью функции array_splice удаляем первый и последний элемент в массиве
$output = array_splice($arr, 1 , -1);
// c помощью цикла foreach выводим оставшиеся элементы массива в браузер
foreach ($output as $value){
    echo $value . ' ';
}
ivashkevich

Отлично!

1nSide

3

// исходный массив
$arr = [1, 2, 5, 2, 3, 1, 6];
// array_unique функция которая удаляет повторяющиеся элементы в массиве
$output = array_unique($arr);
// выводим текущий массив в браузер
foreach ($output as $value){
    echo $value . ' ';
}
ivashkevich

И снова отлично! =)

andropij
1-ая задача
<?php
$array = [1, 3, 2];

asort($array);
$array = implode(";", $array);
var_dump($array);

2-ая задача
здесь я сделал два варианта. 
1-ый вариант
<?php
$array = [1, 2, 3, 4, 5];
$array2 = [];
foreach (range(2, 4) as $item) {
    array_push($array2, $item);
}
var_dump($array2);

2-ой вариант
<?php
$array = [1, 2, 3, 4, 5];
$array = array_slice($array, 1,3);
var_dump($array);

3-ая задача

<?php
$array = [1, 2, 5, 2, 3, 1, 6];
$array = array_unique($array);
var_dump($array);
ivashkevich

Во втором задании верным будет второй вариант, так как работа идёт с исходным массивом. А так - всё правильно =) В первом задании можно было использовать просто sort(), но не принципиально.

Fox-24

Хороший урок!)


// Есть массив чисел – [1, 3, 2].
// Отсортируйте их от меньшего к большему и преобразуйте в строку, в которой значения элементов массива разделяются двоеточиями.
// В результате должна получиться строка “1:2:3”.

$numbers = [
    1,
    3,
    2
];

sort($numbers);
$comma_separated = implode(":", $numbers);

echo $comma_separated;

// Есть массив чисел – [1, 2, 3, 4, 5].
// Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й.
// В результате должен получиться массив с числами [2, 3, 4].

$numbers = [
    1,
    2,
    3,
    4,
    5
];

$output = array_slice($numbers, 1, 3);
echo var_dump($output);

// Есть массив чисел – [1, 2, 5, 2, 3, 1, 6].
// Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз.
// В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].

$numbers = [
    1,
    2,
    5,
    2,
    3,
    1,
    6
];

$result = array_unique($numbers);
echo var_dump($result);
ivashkevich

Отлично!

ArtemijeKA

3

$arr = [1, 2, 5, 2, 3, 1, 6];
var_dump(array_unique($arr));

2

$arr = [1, 2, 3, 4, 5];
var_dump(array_slice($arr, 1, 3, true)); // true сохранили исходные индексы

1

$arr = [1, 3, 2];
sort($arr);
echo implode(':', $arr);
ivashkevich

Хорошо, а почему в обратном порядке?)

SBTesla
<?php
$array = [1, 3, 2, 4, 6, 5, 8, 7, 10, 9];
sort($array);

$numbers =  implode(':', $array);
echo  $numbers;

// Второе задание

$arrayNumbers = [1, 2,  3, 4, 5, 6, 7, 2, 4, 5,12, 3,22, "кек", "lol"];
$i = array_slice ($arrayNumbers, 1, 3);

var_dump($i);

//Третье задание

$result = array_unique($arrayNumbers, SORT_NUMERIC);
var_dump($result);

Только я не совсем понял почему флаг SORT_NUMERIC указывает последний ключ в массиве со словом, он же должен сравнивать элементы как числа, и если в массиве допустим много числовых значений и строковых как выбрать только числовые например?

ivashkevich

Хорошо. А отфильтровать можно с помощью array_filter()

Benya
<?php

$array = [1, 3, 2];

$sorts = asort($array);
$arraySort = implode(":", $array);

echo $arraySort;
//2 задача
$array = [1, 2, 3, 4, 5];

$arrayOutput = array_slice($array, 1, 4);

for ($i = 1; $i < count($arrayOutput); $i++) {
    echo $arrayOutput[$i];
}

//3 задача
$array = [1, 2, 5, 2, 3, 1, 6];

$arrayUnique = array_unique($array);

var_dump($arrayUnique);
ivashkevich

Отлично!

lordbear53@gmail.com

Первое:

$arr = [1,3,2];
sort($arr);
$sorted = implode(':', $arr);
echo $sorted;

Второе:

$arr = [1,2,3,4,5];
$slicedArr = array_slice($arr,1,3);
var_dump($slicedArr);

Третье:

$arr = [1,2,5,2,3,1,6];
$uniArr = array_unique($arr);
var_dump($uniArr);
ivashkevich

Супер!

demyanovpaul@yandex.ru

Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку, в которой значения элементов массива разделяются двоеточиями. В результате должна получиться строка “1:2:3”.

$array = [1, 3, 2];

asort($array);
echo implode(':', $array);

Есть массив чисел – [1, 2, 3, 4, 5]. Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й. В результате должен получиться массив с числами [2, 3, 4].

$array = [1, 2, 3, 4, 5];

var_dump(array_slice($array, 1, 3));

Есть массив чисел – [1, 2, 5, 2, 3, 1, 6]. Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз. В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].

$array = [1, 2, 5, 2, 3, 1, 6];

var_dump(array_unique($array));
ivashkevich

Отлично!

virtual2018
<?php
function arrayToString(array $array, string $ch)
{
    return implode($ch, $array);
}

$arrayIn = [1, 3, 2];
echo "<p>Исходный массив задание 1:</p>";
echo '[' . arrayToString($arrayIn, ',') . ']';
echo "<p>Модифицированный массив по заданию 1:</p>";
asort($arrayIn);
echo '[' . arrayToString($arrayIn, ':') . ']';

$arrayIn = [1, 2, 3, 4, 5];
echo "<p>Исходный массив задание 2:</p>";
echo '[' . arrayToString($arrayIn, ',') . ']';
echo "<p>Модифицированный массив по заданию 2:</p>";
echo '[' . arrayToString(array_slice($arrayIn, 1, 3), ',') . ']';

$arrayIn = [1, 2, 5, 2, 3, 1, 6];
echo "<p>Исходный массив задание 3:</p>";
echo '[' . arrayToString($arrayIn, ',') . ']';
echo "<p>Модифицированный массив по заданию 3:</p>";
echo '[' . arrayToString(array_unique($arrayIn), ',') . ']';

Исходный массив задание 1:

[1,3,2]
Модифицированный массив по заданию 1:

[1:2:3]
Исходный массив задание 2:

[1,2,3,4,5]
Модифицированный массив по заданию 2:

[2,3,4]
Исходный массив задание 3:

[1,2,5,2,3,1,6]
Модифицированный массив по заданию 3:

[1,2,5,3,6]

ivashkevich

В целом всё норм, но непонятно, зачем вместо вызова напрямую implode оборачивать её в arrayToString, которая ничего другого не делает.

Bogdan

//Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку,
//в которой значения элементов массива разделяются двоеточиями. В результате должна получиться строка “1:2:3”.

$array = [1, 3, 2];
$result = (string)'';

sort($array);

foreach ($array as $key => $value) {
    $array[$key] = (string) $array[$key];
    $array[$key] != $array[count($array)-1] ? $result .= $array[$key] .':' : $result .= $array[$key];
}
unset($value);

// Есть массив чисел – [1, 2, 5, 2, 3, 1, 6]. Получите такой массив, в котором каждое значение из исходного будет
// содержаться только один раз. В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].

$array = [1, 2, 5, 2, 3, 1, 6];
$array = array_unique($array);

//Есть массив чисел – [1, 2, 3, 4, 5]. Получите с помощью одной функции массив, в котором будут элементы исходного
// с 1-го элемента по 3-й. В результате должен получиться массив с числами [2, 3, 4].

$array = [1, 2, 3, 4, 5];

$out = array_slice($array, 1, 3);
Bogdan

вот это я накакокодил с первым заданием ))) не нашел я implode))))

ivashkevich
  1. Как вы уже сами сказали, можно проще. Сортировку тоже стоило встроенную использовать:

    sort($array);
    echo implode(':', $array);
  2. Ок
  3. Ок
SashkoUkraine
<?php

$arrayNumbers = [1, 3, 2];
sort($arrayNumbers);
$stringFromArray = implode(':', $arrayNumbers);
echo $stringFromArray;

echo "<br>";

$arrayOfNumbersForCut =  [1, 2, 3, 4, 5];
$output1 = array_slice($arrayOfNumbersForCut, 1, 3);
var_dump ($output);

echo "<br>";

$randomNumber = [1, 2, 5, 2, 3, 1, 6];
$output2 = array_unique($randomNumber);
var_dump($output);
ivashkevich

Всё ок

red.shuhov48@gmail.com
            $arr =[1, 2, 3];
            sort($arr);
            echo implode(":",$arr);

            $arr2 =[1, 2, 3, 4, 5];
            $delElement = array_diff($arr2,[1,5]);
            var_dump($delElement);

            $arr3 =[1, 2, 5, 2, 3, 1, 6];
            $unique = array_unique($arr3);
            var_dump($unique);
ivashkevich
  1. ОК
  2. array_slice
  3. ОК
red.shuhov48@gmail.com

по array_slice - там же происходит сброс ключа, поэтому и выбрал array_diff
результаты:
array (size=3)
0 => int 2
1 => int 3
2 => int 4
array (size=3)
1 => int 2
2 => int 3
3 => int 4

ivashkevich

Когда берется срез из существующего массива, ключи как правило не нужны.

red.shuhov48@gmail.com

ок,спасибо)

excent63

Добрый вечер!
Домашнее задание:
1:

$arr = [1,3,2];
sort($arr);
$string = implode(' : ',$arr);
echo $string;

2:

$array = [1,2,3,4,5];
$slice = array_slice($array,1,3);
var_dump($slice);

3:

$uni = [1,2,3,2,4,6,4,5,7];
$uni = array_unique($uni);
var_dump($uni);
ivashkevich

Всё отлично!

Pro100Bah
$array = [3, 6, 9, 99, 7, 11];
sort($array);
$arrayInString = implode(';', $array);
var_dump($arrayInString);

$array1 = [1, 2, 3, 4, 5];
$sliceOfArray = array_slice($array1, 1, 3);
var_dump($sliceOfArray);

$array2 = [1, 2, 5, 2, 3, 1, 6];
$zeroRepeats = array_unique($array2);
var_dump($zeroRepeats);

Чисто для себя скинул ДЗ, так как вариантов тут действительно не много, найти в библиотеке PHP, на которую еще и ссылку дали функции для решение задачи, но как говориться лучше сделать, чем не сделать. Спасибо за качественные уроки!!!

ivashkevich

Отлично! Суть этой домашки - показать что в этой доке все просто и понятно)

volodia.pavloff201343@gmail.com
$array = [1,3,2];
asort($array);
$use = implode(":",$array);
var_dump($use);
echo '<br>';

$array_1 = [1,2,3,4,5];
$slice = array_slice($array_1,1,3);
var_dump($slice);
echo '<br>';

$array_2 = [1, 2, 5, 2, 3, 1, 6];
$unique = array_unique($array_2);
var_dump($unique);
ivashkevich

Ок!

Luganskiy

Сделал так, потом увидел "implode"

$ToSortTheNumbers = [1, 3, 2];
sort($ToSortTheNumbers);

echo "$ToSortTheNumbers[0] : $ToSortTheNumbers[1] : $ToSortTheNumbers[2]";

ivashkevich

Такое решение не гибкое - если поменяется число элементов массива, то всё поломается. Если и делать, то через цикл.

alex.evg.ostr

Правильно так ?

//1 решение
$arr= [1, 3, 2];
sort($arr);
echo $string = implode(":", $arr);

//2 решение
var_dump ($slice = array_slice($array = [1,2,3,4,5], 1, 3));

//3 решение
var_dump($unique= array_unique($arr=[1, 2, 5, 2, 3, 1, 6]));
ivashkevich

Да. Всё верно.

ashfedor
$array = [1, 3, 2];
sort($array);
$result = implode(":", $array);
echo  $result;

$input = [1, 2, 3, 4, 5];
$output = array_slice($input, 1, 3);
var_dump($output);

$array = [1, 2, 5, 2, 3, 1, 6];
$result = array_unique($array);
var_dump($result);
ivashkevich

Отлично!

babls2332@gmail.com
<?php

//Задание 1
$arr = [1, 3, 2];
sort($arr);
var_dump($arr);
$arrToStr = implode(':', $arr);
var_dump($arrToStr);
//
//Задание 2
$arr2 = [1, 2, 3, 4, 5];
$arrResult = array_slice($arr2, 1, 3);
var_dump($arrResult);
//
//Задание 3
$arr3 = [1, 2, 5, 2, 3, 1, 6];
$arrResult = array_unique($arr3);

var_dump($arrResult);
//
ivashkevich

Отлично!

shtiher@yandex.ru

Первое задание:

<?php
$array = [1, 3, 2];
sort ($array);
echo implode(':', $array);

Второе задание:

<?php
$array = [1, 2, 3, 4, 5];
$output = array_slice($array, 1, 3);
echo implode(' : ', $output);

Третье задание:

<?php
$array = [1, 2, 5, 2, 3, 1, 6];
$output = array_unique($array);
echo implode(' : ', $output);
ivashkevich

Отлично

Grewi

При решении первой задачи не сразу нашел нужные функции получилось так:

$arr1 = [1, 3, 2];
sort($arr1);
$i = array_pop($arr1);
foreach ($arr1 as $arrInLine){
    if($arrInLine !== $i){
        echo $arrInLine.':';
    }
}
echo $i;

Второй вариант :

$arr2 = [1, 3, 2];
sort($arr2);
$i2 = implode(':',$arr2);
echo $i2;

Вторая задача:

$arrSlice = [1, 2, 3, 4, 5];
$arrSlice2 = array_slice($arrSlice,1,3);
var_dump($arrSlice2);

Третья задача:

$arrNique = [1, 2, 5, 2, 3, 1, 6];
$arrNique2 = array_unique($arrNique);
var_dump($arrNique2);
ivashkevich

Отлично

ilshatgb@mail.ru

Сортировка массива и преобразование в строку

<?php
$array = [1, 3, 2];
sort($array);
$result = implode(":", $array);
echo $result;

Часть массива

<?php
$array = [1, 2, 3, 4, 5];
var_dump(array_slice($array, 1, -1));

Удаление дублей массива

<?php
$array = [1, 2, 5, 2, 3, 1, 6];
$array = array_unique($array);
var_dump($array);
ivashkevich

Отлично

XXX
<?php
$array = [2, 3, 6, 1, 23, 2, 56, 7, 1, 15];
sort($array);
$string=implode(":", $array);
var_dump($string);

$array2 = [1, 2, 3, 4, 5];
$array2 = array_slice($array2, 1, 3);
var_dump($array2);

$array3 = [1, 2, 5, 2, 3, 1, 6];
$array3 = array_unique($array3);
var_dump($array3);
ivashkevich

Отлично

lilit

Первое:

<?php
$array =   [1, 3, 2];
sort ($array);
$implode = implode(':', $array);
var_dump($implode);

Второе:

<?php
$array =  [1, 2, 3, 4, 5];
$slice =  array_slice ($array, 1, 3, true);
var_dump($slice);

Третье:

<?php
$array =   [1, 2, 5, 2, 3, 1, 6];
$unique =  array_unique ($array, SORT_STRING);
var_dump($unique);
ivashkevich

Ок =)

Boodoo

Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку, в которой значения элементов массива разделяются двоеточиями. В результате должна получиться строка “1:2:3”.

<?php

    $arr = [1,3,2];
    sort($arr);
    $str = implode(':', $arr);
    echo $str;
ivashkevich

Отлично

Boodoo

Есть массив чисел – [1, 2, 3, 4, 5]. Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й. В результате должен получиться массив с числами [2, 3, 4].

<?php

    $arr = [1,2,3,4,5];
    array_slice($arr, 1, 3);
    var_dump($arr);
ivashkevich

Отлично

Boodoo

Есть массив чисел – [1, 2, 5, 2, 3, 1, 6]. Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз. В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].

<?php

    $arr = [1,2,5,2,3,1,6];
    $arr = array_unique($arr);
    var_dump($arr);
ivashkevich

Отлично. Текст задания дублировать не надо =)

Boodoo

Ок

artemship
$array = [1, 3, 2];
sort($array);
$string = implode(':', $array);
echo $string;
$array = [1, 2, 3, 4, 5];
$slice = array_slice($array, 1, 3);
var_dump($slice);
$array = [1, 2, 5, 2, 3, 1, 6];
$unique = array_unique($array);
var_dump($unique);
ivashkevich

Отлично!

che4151999@gmail.com
<?php
$array=[1,3,2];
sort($array);
$string_use=implode(':',$array);
echo $string_use;
echo '<br>'.'________________________________';
$array1=[1,2,3,4,5];
echo'<br>';
print_r(array_slice($array1,1,3));
echo '<br>'.'________________________________';
$array2=[1, 2, 5, 2, 3, 1, 6];
$uni=array_unique($array2);
sort($uni);
var_dump($uni);
ivashkevich

Ок. Только в именах переменных не используются подчеркивания.

Dram

Первая домашка

<?php
/*Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку,
в которой значения элементов массива разделяются двоеточиями.
В результате должна получиться строка “1:2:3”.
*/

$numbers = [
    1,
    2,
    3,
    4,
    8,
    7,
    6,
    5
];
sort($numbers);
echo implode(":", $numbers);
ivashkevich

У вас массив с уже отсортированными числами

Dram

Это не так, посмотрите внимательно.

ivashkevich

Ок. Прошу прощения

Dram

Вторая:

<?php
/*Есть массив чисел – [1, 2, 3, 4, 5].
Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й.
В результате должен получиться массив с числами [2, 3, 4].
*/

function newArray ($newNumbers=[]){
    $numbers = [1, 2, 3, 4, 5];
    $newNumbers[] = $numbers[1];
    $newNumbers[] = $numbers[2];
    $newNumbers[] = $numbers[3];
    $rezult= implode(", ", $newNumbers);
    return $rezult;
}
echo newArray ();
ivashkevich

array_slice - прочитайте про эту функцию. Аргументы опять никак не используются...

Dram

Так?

<?php
function newArray ($numbers=[]){
    $newNumbers[] = $numbers[1];
    $newNumbers[] = $numbers[2];
    $newNumbers[] = $numbers[3];
    $rezult= implode(", ", $newNumbers);
    return $rezult;
}
echo newArray ($numbers = [1, 2, 3, 4, 5]);

P.S. понял, читаю про array_slice

Dram

выполнение домашки показываю сыну (хвастаюсь), он пару лет кодит на питоне. Он говорит что так правильнее, типа универсальнее. Но почему я так и не понял

<?php
function newArray ($numbers){ 

$newNumbers[] = $numbers[1]; 
$newNumbers[] = $numbers[2]; 
$newNumbers[] = $numbers[3]; 
$rezult= implode(" ", $newNumbers); 
return $rezult; 
} 
echo newArray ([1, 2, 3, 4, 5]);
ivashkevich

Потому что функция должна принимать на вход параметры и что-то делать, а в вашем решении все написан внутри функции, и от функции не остается никакого смысла. array_slice

Dram

Так?

<?php
function newArray ($numbers){
    $output = array_slice($numbers, 1, 3);
    $rezult= implode(", ", $output);
    return $rezult;
}
echo newArray ($numbers = [1, 2, 3, 4, 5]);
ivashkevich

В общем и целом да, только в этом задании не нужно было оборачивать в функцию. Ну и про передачу аргументов я вам уже писал. Просто:

newArray([1, 2, 3, 4, 5]);
Dram

Третья... это было самое быстрое задание для меня из всех прошлых уроков :)))

<?php
/*Есть массив чисел – [1, 2, 5, 2, 3, 1, 6].
Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз.
В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].
*/

$arrey=[1, 2, 5, 2, 3, 1, 6];
$unik=array_unique ($arrey);
echo implode(", ", $unik);
ivashkevich

Тут все хорошо

krollik1000000@gmail.com
$arr = [1,3,2];
sort($arr);
$string = implode(':',$arr);
echo $string;

$arr2 = [1,2,3,4,5];
$result = array_slice($arr2,1,3);
var_dump($result);

$arr3 = [1, 2, 5, 2, 3, 1, 6];
$arrResult = array_unique($arr3);
var_dump($arrResult);
ivashkevich

Отлично

Moskva

Код:

$arr1 = [1, 3, 2];
$arr[] = sort($arr1); // Сортируем массив в порядке возрастания
unset($arr[count($arr)-1]); // Убираем последний элемент массива, который был присвоен при сортировке
for ($i=0; $i < count($arr1);$i++) {
    if ($i>0){
        $arr1[$i] = ':'.$arr1[$i];
    }
    echo $arr1[$i];
}

$arr2 = [1, 2, 3, 4, 5];
$sortedArr = array_slice($arr2, 1, 3);
var_dump($sortedArr);

$arr3 = [1,2,5,2,3,1,6];
$nonRepeating = array_unique($arr3);
var_dump($nonRepeating);
ivashkevich

Первое решение не годится. Посмотрите другие решения.

Moskva

Первое задание изменил. Подсмотрел у ребят решение, спасибо за клёвые уроки.

$arr1 = [1, 3, 2];
sort($arr1); // Сортируем массив в порядке возрастания
echo implode(":", $arr1);
ivashkevich

Отлично. Пожалуйста)

Bocha

1.

$array = [1,3,2];
asort($array);

$stringArray = implode(";", $array);

2.

$array = [1, 2, 3, 4, 5];
$output = array_slice($array, 1,3);

3.

$array = [1, 2, 5, 2, 3, 1, 6];
$output = array_unique($array);
ivashkevich
  1. Должно было быть через двоеточие

В целом - отлично

Bizzzon
$array = [1, 3, 2];
sort($array);
$result = implode(':', $array);
echo $result;
$array = [1, 2, 3, 4, 5];
$result = array_slice($array, 1, 3);
var_dump($result);
$array = [1, 2, 5, 2, 3, 1, 6];
$result = array_unique($array);
var_dump($result);

3-й вариант подсмотрел в комментах, т.к не смог найти функцию

ivashkevich

Отлично!

Reechniy
раз:
<?php
$array1=[1, 3, 2];
asort($array1);
$string=implode(':',$array1);
echo $string;

два:

<?php
$array1=[1, 2, 3, 4, 5];
$output=array_slice($array1,1,3);
var_dump($output);

три:

<?php
$array1=[1, 2, 5, 2, 3, 1, 6];
$result=array_unique($array1);
var_dump($result);
ivashkevich

Отлично!

kvakazuabr

пишите здесь ваш код
`$arrNum = [1, 7, 5, 6, 2];
$arrSort = $arrNum;
sort($arrSort);
echo implode(':', $arrSort) . '<br>';
$slc = array_slice($arrNum, 1, 3);
var_dump($slc);
echo '<br>';
$arrNum2 = [1, 2, 5, 2, 3, 1, 6];
$result = array_unique($arrNum2);
var_dump($result);``
ivashkevich

Зачем ты оставляешь строку "пишите здесь ваш код"? На ее месте нужно код писать.

По функциям - ок.

AlexxxEy
<?php
$array = [
    3,
    4,
    2,
    9
];
sort($array);

$s = implode( ' : ', $array);
print $s;
var_dump($s);
print '</br>';

$array1 =  [1, 2, 3, 4, 5];
$r = array_slice($array1, 1, 3);
var_dump($r);
print '</br>';

$array1 =  [1, 2, 5, 2, 3, 1, 6];
$array2 = array_unique($array1, 1);
var_dump($array2);
?>
ivashkevich

Отлично

Aleks

Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку, в которой значения элементов массива разделяются двоеточиями. В результате должна получиться строка “1:2:3”.

<?php
$array = [
    1,
    3,
    2
];

sort($array);
$stringArray = implode(':', $array);
echo $stringArray;
ivashkevich

Отлично

Aleks

Есть массив чисел – [1, 2, 3, 4, 5]. Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й. В результате должен получиться массив с числами [2, 3, 4].

<?php
$array = [
    1,
    2,
    3,
    4,
    5
];

$slice = array_slice($array, 1, 3);
var_dump($slice);
ivashkevich

Отлично

Aleks

Есть массив чисел – [1, 2, 5, 2, 3, 1, 6]. Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз. В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].

<?php
$array = [
   1,
   2,
   5,
   2,
   3,
   1,
   6
];
$unique = array_unique($array);
var_dump($unique);
ivashkevich

Отлично

Vladimir96
//Первое задание
    $fromSmallerToLarger = [
        1,
        3,
        2
    ];
    sort($fromSmallerToLarger);
    var_dump(implode(':', $fromSmallerToLarger));

    //Второе задание
    $seachThreeElements = [
        1,
        2,
        3,
        4,
        5
    ];
    var_dump(array_slice($seachThreeElements, 1, 3));

    //Третье задание
    $removeTheRepeat = [
        1,
        2,
        5,
        2,
        3,
        1,
        6
    ];
    var_dump(array_unique($removeTheRepeat));
ivashkevich

Отлично

Ooleg
//---Start 1---//
$numbers0 = [1, 3, 2];
sort($numbers0);
$strNumbers = implode(':', $numbers0);

echo $strNumbers;
//---End 1---//
echo '<br>';
//---Start 2---//
$numbers1 = [1, 2, 3, 4, 5];
$numbers2 = array_slice($numbers1, 1,3);

var_dump($numbers2);
//---End 2---//
echo '<br>';
//---Start 3---//
$numbers3 = [1, 2, 5, 2, 3, 1, 6];
$numbers4 = array_unique($numbers3);

var_dump($numbers4);
//---End 3---//
ivashkevich

Отлично

Dreft

Задание 1.

$arr = [1, 3, 2];
sort($arr);
echo implode(':', $arr);

Задание 2.

$arr = [1, 2, 3, 4, 5];
$res = array_slice($arr, 1, 3);
var_dump($res);

Задание 3.

$arr = [1, 2, 5, 2, 3, 1, 6];
$res = array_unique($arr);
var_dump($res);
ivashkevich

Отлично. Для строк используй одинарные кавычки.

Dreft

Поправил.

Clawson

Задача №1

<?php
$inputArray = [1, 3, 2];
asort($inputArray);
$arrayToStr = implode(':', $inputArray);
var_dump($arrayToStr);

Задача №2

<?php
$inputArray = [1, 2, 3, 4, 5];
$sliceArray = array_slice($inputArray, 1, 3, true); //сохранил ключи для теста
var_dump ($sliceArray);

Задача №3

<?php
$inputArray = [1, 2, 5, 2, 3, 1, 6];
$arrayOfUniqueNumbs = array_unique($inputArray);
var_dump ($arrayOfUniqueNumbs);
ivashkevich

Почему использовали asort вместо sort?

dliashchenko
<?php
$arr =  [1, 3, 2];
sort($arr);
$stringArr = implode(':', $arr);
echo $stringArr;

echo "<br/>";

$arrNext = [1, 2, 3, 4, 5];
$arrNext = array_slice($arrNext, 1, 3);
var_dump($arrNext);

echo "<br/>";

$arrNumbers = [1, 2, 5, 2, 3, 1, 6];
$result = array_unique($arrNumbers);
var_dump($result);
ivashkevich

Отлично

H3licoptero
$array = [1, 3, 2];
sort($numbers);
$string = implode(': ', $numbers);
echo $string;

echo '<br>';

$number = [1, 2, 3, 4, 5];
$theChosens = array_slice($number, 1, 3, 5);
var_dump($theChosens);

echo '<br>';

$array = [1, 2, 5, 2, 3, 1, 6];
$numsWithoutRepeat = array_unique($array);
var_dump($numsWithoutRepeat);
ivashkevich

Отлично

prinzplanloser0514@gmail.com

Добрый день, не могли бы подсказать,я когда делаю сортировку массива,у меня почему-то значения ключа,по которому я делаю сортировку улетают в самый низ массива при отражении var_dump

<?php
$array = ['Первый ключ' => ['С', 'А', 'Г', 'Р',
    'ВТорой ключ' => ['И', 'А', 'У',
        'Третий ключ' => ['М', 'А']]]];
arsort($array['Первый ключ']['ВТорой ключ']);
var_dump($array);

описание картинки

ivashkevich

Читай документацию к функции. Я даже не знаю, что ты сделать пытаешься)

Evilinside

//Задание 1

$array = [1, 3, 2];
$str = '';
sort($array);
 echo  $str =  implode(':', $array);

//Задание 2

$array = [1, 2, 3, 4, 5];
 var_dump(array_splice($array,1,3));

//Задание 3

$array = [1, 2, 5, 2, 3, 1, 6];
var_dump(array_unique($array));
ivashkevich

Для чего в первом задании переменная $str?

Evilinside

Чтобы записать результат функции имплойд

ivashkevich

Этот результат разве где-то используется? И почему ей сначала присваивается пустое значение?

Онлайн обучение PHP
Путь с полного нуля до джуниора!
Начать бесплатно
Логические задачи с собеседований