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


Dasgonder 08.01.2018 в 13:20
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 08.01.2018 в 13:47

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

humanidis@gmail.com 12.05.2018 в 18:40

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

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

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

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 20.05.2019 в 16:38

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

ivashkevich 21.05.2019 в 13:08

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

Andreo 17.01.2018 в 12:51
// 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 18.01.2018 в 19:35

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

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

1nSide 18.04.2018 в 13:58

1

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

Отлично)

1nSide 18.04.2018 в 14:57

2

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

Отлично!

1nSide 18.04.2018 в 15:04

3

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

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

andropij 17.06.2018 в 17:18
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 18.06.2018 в 05:02

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

Fox-24 14.08.2018 в 11:26

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


// Есть массив чисел – [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 14.08.2018 в 20:30

Отлично!

ArtemijeKA 07.09.2018 в 10:42

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 07.09.2018 в 21:30

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

SBTesla 18.09.2018 в 09:59
<?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 22.09.2018 в 20:09

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

Benya 19.09.2018 в 19:34
<?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 22.09.2018 в 20:09

Отлично!

CarfikDK 22.10.2018 в 21:56

Первое:

$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 23.10.2018 в 08:41

Супер!

demyanovpaul@yandex.ru 03.11.2018 в 21:33

Есть массив чисел – [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 04.11.2018 в 00:31

Отлично!

virtual2018 21.11.2018 в 14:19
<?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 22.11.2018 в 09:30

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

Bogdan 13.12.2018 в 11:26

//Есть массив чисел – [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 13.12.2018 в 11:31

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

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

    sort($array);
    echo implode(':', $array);
  2. Ок
  3. Ок
SashkoUkraine 22.01.2019 в 13:41
<?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 23.01.2019 в 11:47

Всё ок

red.shuhov48@gmail.com 26.01.2019 в 10:01
            $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 27.01.2019 в 10:53
  1. ОК
  2. array_slice
  3. ОК
red.shuhov48@gmail.com 29.01.2019 в 10:47

по 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 29.01.2019 в 23:34

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

red.shuhov48@gmail.com 30.01.2019 в 19:48

ок,спасибо)

excent63 26.01.2019 в 19:13

Добрый вечер!
Домашнее задание:
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 27.01.2019 в 10:53

Всё отлично!

Pro100Bah 30.01.2019 в 14:28
$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 01.02.2019 в 23:45

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

volodia.pavloff201343@gmail.com 04.02.2019 в 20:10
$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 07.02.2019 в 12:48

Ок!

Luganskiy 06.02.2019 в 09:17

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

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

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

ivashkevich 07.02.2019 в 12:50

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

alex.evg.ostr 01.03.2019 в 17:12

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

//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 02.03.2019 в 16:50

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

ashfedor 10.03.2019 в 11:30
$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 11.03.2019 в 21:05

Отлично!

babls2332@gmail.com 10.03.2019 в 15:37
<?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 11.03.2019 в 21:06

Отлично!

shtiher@yandex.ru 13.03.2019 в 17:05

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

<?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 14.03.2019 в 09:12

Отлично

Grewi 17.03.2019 в 01:15

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

$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 17.03.2019 в 23:52

Отлично

ilshatgb@mail.ru 17.03.2019 в 12:00

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

<?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 17.03.2019 в 23:53

Отлично

XXX 17.03.2019 в 21:00
<?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 17.03.2019 в 23:53

Отлично

lilit 20.03.2019 в 19:23

Первое:

<?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 20.03.2019 в 21:13

Ок =)

Boodoo 02.04.2019 в 08:10

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

<?php

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

Отлично

Boodoo 02.04.2019 в 08:14

Есть массив чисел – [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 03.04.2019 в 05:07

Отлично

Boodoo 02.04.2019 в 08:17

Есть массив чисел – [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 03.04.2019 в 05:08

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

Boodoo 03.04.2019 в 06:00

Ок

artemship 16.04.2019 в 22:09
$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 17.04.2019 в 22:19

Отлично!

che4151999@gmail.com 18.04.2019 в 16:00
<?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 18.04.2019 в 16:06

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

Dram 21.04.2019 в 15:28

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

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

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

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

Dram 21.04.2019 в 19:24

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

ivashkevich 22.04.2019 в 17:17

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

Dram 21.04.2019 в 16:01

Вторая:

<?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 21.04.2019 в 17:22

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

Dram 21.04.2019 в 19:28

Так?

<?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 21.04.2019 в 16:13

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

<?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 21.04.2019 в 17:24

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

Dram 21.04.2019 в 19:46

Так?

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

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

newArray([1, 2, 3, 4, 5]);
Dram 21.04.2019 в 16:17

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

<?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 21.04.2019 в 17:25

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

krollik1000000@gmail.com 08.05.2019 в 17:07
$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 10.05.2019 в 13:39

Отлично

Moskva 29.05.2019 в 10:27

Код:

$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 30.05.2019 в 06:28

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

Moskva 26.06.2019 в 15:11

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

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

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

Bocha 03.06.2019 в 08:24

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 03.06.2019 в 18:14
  1. Должно было быть через двоеточие

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

Bizzzon 07.07.2019 в 22:47
$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 08.07.2019 в 05:16

Отлично!

Reechniy 09.07.2019 в 17:00
раз:
<?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 09.07.2019 в 19:04

Отлично!

kvakazuabr 16.07.2019 в 11:06

пишите здесь ваш код
`$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 17.07.2019 в 04:22

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

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

AlexxxEy 17.07.2019 в 21:46
<?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 18.07.2019 в 04:24

Отлично

Aleks 13.08.2019 в 15:11

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

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

sort($array);
$stringArray = implode(':', $array);
echo $stringArray;
ivashkevich 13.08.2019 в 19:37

Отлично

Aleks 13.08.2019 в 16:06

Есть массив чисел – [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 13.08.2019 в 19:37

Отлично

Aleks 13.08.2019 в 16:22

Есть массив чисел – [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 13.08.2019 в 19:37

Отлично

Vladimir96 17.08.2019 в 00:37
//Первое задание
    $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 18.08.2019 в 06:48

Отлично

Ooleg 28.08.2019 в 11:55
//---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 28.08.2019 в 17:53

Отлично

Dreft 02.09.2019 в 09:24

Задание 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 02.09.2019 в 10:10

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

Dreft 02.09.2019 в 13:51

Поправил.

ivashkevich 02.09.2019 в 18:34

Ок

Clawson 05.09.2019 в 14:34

Задача №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 05.09.2019 в 19:42

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

dliashchenko 25.09.2019 в 18:09
<?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 27.09.2019 в 18:04

Отлично

H3licoptero 27.09.2019 в 15:10
$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 27.09.2019 в 18:04

Отлично

prinzplanloser0514@gmail.com 28.09.2019 в 15:01

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

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

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

ivashkevich 29.09.2019 в 12:14

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

Evilinside 15.10.2019 в 14:52

//Задание 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 15.10.2019 в 20:19

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

Evilinside 15.10.2019 в 21:52

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

ivashkevich 16.10.2019 в 05:22

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

kvakazuabr 17.10.2019 в 21:38
$array = [1, 3, 2];
sort($array);
echo implode(":", $array);

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

$result = array_unique([1, 2, 5, 2, 3, 1, 6]);
print_r($result);
ivashkevich 18.10.2019 в 08:58

Супер

anton-gogo@mail.ru 18.10.2019 в 11:26
<?php 

//1 ex ======================================

function up(array $x, $y){
    sort($x);
    $y= implode($x, ':');
    return($y);
}
echo up([9,6,1,5,2,4,3,7,8], 0), '<br>';

//2 ex ======================================

$arrayS=[1,2,3,4,5];
$slice= array_slice($arrayS, 1, -1);
print_r($slice);

//3 ex ======================================

$arrayU= [1, 2, 5, 2, 3, 1, 6];
$un= array_unique($arrayU);
print_r($un);
ivashkevich 18.10.2019 в 12:37

Отлично. Фигурная скобка, открывающая тело функции, пишется на новой строке.

zuxarevaalina88@gmail.com 20.10.2019 в 22:31
1.
$arr = [1, 3, 2];
sort($arr);
$string = implode(':' , $arr);
var_dump($string);

2.$input = array(1, 2, 3, 4, 5);
$output = array_slice($input, 1, 3);
var_dump($output);

3.$input = array(1, 2, 5, 2, 3, 1, 6);
$result = array_unique($input);
var_dump($result);
ivashkevich 21.10.2019 в 04:58

Отлично

andreskrip 11.11.2019 в 20:05
//Есть массив чисел – [1, 3, 2]. Отсортируйте их от меньшего к большему и преобразуйте в строку, в которой значения элементов массива разделяются двоеточиями. В результате должна получиться строка “1:2:3”.
$array = [1, 3, 2];
asort($array);
echo implode(':', $array);
echo '<br><br>';

//Есть массив чисел – [1, 2, 3, 4, 5]. Получите с помощью одной функции массив, в котором будут элементы исходного с 1-го элемента по 3-й. В результате должен получиться массив с числами [2, 3, 4].
$array2 = [1, 2, 3, 4, 5];
$array2 = array_slice($array2, 1, 3);
var_dump($array2);
echo '<br><br>';

//Есть массив чисел – [1, 2, 5, 2, 3, 1, 6]. Получите такой массив, в котором каждое значение из исходного будет содержаться только один раз. В результате должен получиться массив, содержащий числа [1, 2, 5, 3, 6].
$array3 = [1, 2, 5, 2, 3, 1, 6];
$array3 = array_unique($array3);
var_dump($array3);
ivashkevich 11.11.2019 в 20:11

Во второй задаче подогнали под ответ, можно сказать. Есть специальная функция, которая берет срез массива.

andreskrip 15.11.2019 в 16:10

исправил

ivashkevich 15.11.2019 в 18:49

Отлично

Логические задачи с собеседований