подскажите по php

V2
На сайте с 21.11.2018
Offline
1
546

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

Gerga
На сайте с 02.08.2015
Offline
94
#1

vlad2019, что понимаете под номером? Строка в файле, например 20 строка, или что-то другое?

S
На сайте с 30.09.2016
Offline
469
#2
Gerga:
vlad2019, что понимаете под номером?

Номер корована.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Arsh
На сайте с 21.03.2007
Offline
199
#3
Sitealert:
Номер корована.

Корованы не нумеруют. У них - имя собственное, ну, "Золотой" или "Бриллиантовый".

Без ассоциативного массива не обойтись)

S
На сайте с 30.09.2016
Offline
469
#4
Arsh:
Корованы не нумеруют. У них - имя собственное, ну, "Золотой" или "Бриллиантовый".
Без ассоциативного массива не обойтись)

Делаем ключом массива номер корована - и грабим корованы по номеру.

Gerga
На сайте с 02.08.2015
Offline
94
#5

Sitealert, тогда могут попасться корованы с дешевой тканью, но не с золотом. Можно сделать сортировочку по размеру корована. Предполгаю, что корованы с золотом или бриллиантами будут короче.

V2
На сайте с 21.11.2018
Offline
1
#6

да номер строки

---------- Добавлено 21.11.2018 в 18:16 ----------

Gerga:
vlad2019, что понимаете под номером? Строка в файле, например 20 строка, или что-то другое?

да по номеру строки

Gerga
На сайте с 02.08.2015
Offline
94
#7

vlad2019,


function get_name(int $key = null) {
$names = file('names.db');

if ($key && isset($names[$key - 1])) {
return $names[$key - 1];
}

return "Элемента с номером {$key} в списке нет";
}

Вызывается функция так:


echo get_name(2);

names.db - это файл с именами.

M
На сайте с 04.10.2011
Offline
90
#8

Gerga, Жестковатый "караван" получится каждый "апч-хи" читать из файла... :) Но работать будет

Сдается, обращаться скайп avdesk-it-kmm Верстка, кодинг - контакты в профиле... VPS от 5€ (https://gmhost.com.ua/?partner=10255)
Gerga
На сайте с 02.08.2015
Offline
94
#9

mmkulikov, изхожу из требований, возможно только 1 апч-хи будет :). Если делать так:


echo get_name(1);
echo get_name(2);

мой пример конечно не подходит

---------- Добавлено 21.11.2018 в 17:54 ----------

Понадобится нечто такое:


function get_row(int $key = null, array $database = array()) {
if ($key && isset($database[$key - 1])) {
return $database[$key - 1];
}

return "Элемента с номером {$key} в списке нет";
}

$database = file('names.db');

echo get_row(1, $database);
echo get_row(2, $database);
echo get_row(2, $database);


---------- Добавлено 21.11.2018 в 19:01 ----------

объектно-ориентированный стиль:


class Database {
private $database;

public function __construct(string $location = '') {
$this->database = file($location);
}

public function getRow(int $key = null) {
if ($key && isset($this->database[$key - 1])) {
return $this->database[$key - 1];
}

return "Элемент, с номером {$key}, не найден";
}
}

$names = new Database('names.db');

echo $names->getRow(1);
echo $names->getRow(2);
echo $names->getRow(3);
V2
На сайте с 21.11.2018
Offline
1
#10
Gerga:
mmkulikov, изхожу из требований, возможно только 1 апч-хи будет :). Если делать так:

echo get_name(1);
echo get_name(2);

мой пример конечно не подходит

---------- Добавлено 21.11.2018 в 17:54 ----------

Понадобится нечто такое:

function get_row(int $key = null, array $database = array()) {
if ($key && isset($database[$key - 1])) {
return $database[$key - 1];
}

return "Элемента с номером {$key} в списке нет";
}

$database = file('names.db');

echo get_row(1, $database);
echo get_row(2, $database);
echo get_row(2, $database);


---------- Добавлено 21.11.2018 в 19:01 ----------

объектно-ориентированный стиль:

class Database {
private $database;

public function __construct(string $location = '') {
$this->database = file($location);
}

public function getRow(int $key = null) {
if ($key && isset($this->database[$key - 1])) {
return $this->database[$key - 1];
}

return "Элемент, с номером {$key}, не найден";
}
}

$names = new Database('names.db');

echo $names->getRow(1);
echo $names->getRow(2);
echo $names->getRow(3);

спасибо помогли

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий