ermekhvtr
16.05.2013 - 22:57
Друзья программситы, очень нужна ваша помощь с прохождением собеседования.
В целом у меня было6 вопросов, с троими из них я как нибудь разберусь, там в основном кодинг нужен. А то что приведено ниже просто сбило меня с толку. ничего подобного раньше не встречал/слышал.
1. $x = .....;
echo ($x == 1 && $x==2 && ($x==3 || ($x==4 || $x==5))) ? "OK" : "";
Какое значение должно быть у $x чтобы на экран вывелось "OK".
2.
function myfunc($src) {
$length = strlen($src);
for ($i = 0; $i < $length / 2; $i++) {
$a = $src[$i];
$src[$i] = $src[$length - $i - 1];
$src[$length - $i - 1] = $a;
}
return $src;
}
функция myfunc для переставки текста задом-наперед.
аналог среди PHP функций strrev. в чем может быть минус моей функции?
1. Можно представить что при $length / 2 $lenght может оказаться четным числом и выйдет нецелое число. А кроме этого какие минусы могут быть?
3. Есть ли пример рекурсивной функции, которую я не смогу найти через google. (ВОПРОС С СОБЕСЕДОВАНИЯ)
sergeiss
16.05.2013 - 23:17
Не.... С такими "познаниями", в частности по п.1, лучше не идти на собеседование на программиста.... Не возьмут, "зуб даю"
![wink.gif](http://phpforum.su/html/emoticons/wink.gif)
PS. Если чё -
нету такого Икс. Потому то не может он быть равен одновремено 3-м разным числам.... А может и есть, согласно ответу, данному позднее... Но в любом случае первую часть своего ответа буду отстаивать
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
T1grOK
16.05.2013 - 23:20
1) $x = true;
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Invis1ble
16.05.2013 - 23:23
sergeiss
Цитата |
PS. Если чё - нету такого Икс. Потому то не может он быть равен одновремено 3-м разным числам. |
T1grOK
16.05.2013 - 23:28
2) Попробуй передать число или булевый true
myfunc(true);
myfunc(123);
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
glock18
16.05.2013 - 23:40
Цитата (ermekhvtr @ 16.05.2013 - 18:57) |
1. Можно представить что при $length / 2 $lenght может оказаться четным числом и выйдет нецелое число. А кроме этого какие минусы могут быть? |
нет такого минуса. минус в том, что нет проверки типа переменной
glock18
16.05.2013 - 23:55
3й меня в ступор поставил
![ohmy.gif](http://phpforum.su/html/emoticons/ohmy.gif)
какой-то подвох что ли.. да и формулировка (не смогу найти через google?) просто жесть. Либо вопрос неудачный, либо google просто так в вопросе фигурирует
andrey888
16.05.2013 - 23:59
Дополню . и бесконечное множество операций возвращающих true
$x=(n==n);
где n - любое число, строка, массив и т.д. и т.п.
_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
inpost
17.05.2013 - 00:00
andrey888Сравнение вернёт true, и в $x будет true
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
andrey888
17.05.2013 - 00:07
inpost
А я разве не о том ?? ))
Просто мне подумалось что в любом алогиртме есть разница между явным назначением переменной значения true и привидением ее к такому значению через операцию ..
На вопрос автора я бы ответил как выше написал T1grOK + любая операция по моему примеру )
P.S. Возможно я чуток мудрю , но вдруг автор этого не видит , а препод/работодатель ждет развернутого ответа ))
_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
glock18
17.05.2013 - 00:10
Цитата (inpost @ 16.05.2013 - 20:00) |
andrey888 Сравнение вернёт true, и в $x будет true |
В вопросе запись $x = ...., так что такое дополнение тоже имеет некоторый смысл
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
По сути то же самое, но формулировка сама собой не подразумевает эквивалентность различных записей одного значения
m4a1fox
17.05.2013 - 00:35
Если что, вдруг ТС заглянет то как бы лови ответы на 1 и 2
<!doctype html>
<html>
<head>
<meta charset="utf8" />
<title></title>
</head>
<?php
$x = true;
echo ($x == 1 && $x==2 && ($x==3 || ($x==4 || $x==5))) ? 'OK': '';
function reverse($str){
$array = array();
for($i=0; $i<=strlen($str); $i++){
$array[$i] = $str[$i];
}
echo implode(array_reverse($array));
}
reverse('Hellow you');
?>
</html>
Тут можно еще подумать.... и если все таки нужно короче и функцией, то как бы вот так
<!doctype html>
<html>
<head>
<meta charset="utf8" />
<title></title>
</head>
<?php
$x = true;
echo ($x == 1 && $x==2 && ($x==3 || ($x==4 || $x==5))) ? 'OK': '';
?>
<hr>
<?php
function reverse($str){
echo implode(array_reverse(str_split($str)));
}
reverse('Hellow you');
?>
</html>
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.