[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не могу создать функцию
beniamin
нужно создать функцию которая принимает число в виде строки и возвращяет само число,
пример ввели 'три',о получили 3.
я учусь по видеоурокам М.Русакова и задание это после урока Массивы
о массив имеет вид
$list = array("два","один","три");

я сделал что то такое но сам понимаю что это неправильно
<?php

$list = array("два","один","три");
function transcript ($array){
if ($array[$i] == 0) echo "два";
elseif ($array[$i] == 1) echo "один";
elseif ($array[$i] == 2) echo "три";
}
transcript ($list);


?>
inpost
Что я вижу, ты ссылаешься на $i , которая не существует внутри функции.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Guest
да несушествует но полюбому если и будет $i функция не будет работать как нужна
inpost
всё будет работать как надо!

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
rooor
не будет)
если $list = array("два","один","три"); то if ($array[$i] == 1) и остальные всегда будет false
Guest
[php]<?php

$list = array("два","один","три");
function transcript ($array){
$i = 0;
if ($array[$i] == 0) echo "два";
elseif ($array[$i] == 1) echo "один";
elseif ($array[$i] == 2) echo "три";
}
transcript ($list[2]);
[php]

не работает!!!!!!
Guest
у меня всегда выводится 'два'
rooor
надо по числу текст вывести или по тексту число?
Guest
по тексту число
rooor
оба варианта:
function num($i){
$list = array(
1 => "один",
2 => "два",
3 => "три" );
if(is_numeric($i))
echo $list[$i].'<br />';
else
echo array_search($i, $list).'<br />';
}
num(2);

num('три');
inpost
rooor
Я не понял твоего ответа. Чем не будет работать? $i делаешь какого-то значения и всё.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
beniamin
Цитата (rooor @ 9.04.2013 - 21:58)
оба варианта:
function num($i){
$list = array(
1 => "один",
2 => "два",
3 => "три" );
if(is_numeric($i))
echo $list[$i].'<br />';
else
echo array_search($i, $list).'<br />';
}
num(2);

num('три');

Спасибо большое и если можно прошу объясните эти строк
if(is_numeric($i))
echo $list[$i].'<br />';
else
echo array_search($i, $list).'<br />';
rooor
inpost
я тоже засомневался, потому и уточнил потом)
Цитата
по тексту число

т.е. $i - текст, если массив такого вида $list = array("два","один","три"); то индексы там числовые
rooor
beniamin
//если ввели число, то выводим строку
f(is_numeric($i))
....

//иначе - ввели строку, ищем эту строку в массиве и показываем индекс, т.е. число
else
echo array_search($i, $list)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.