[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы очень интересные.
Страницы: 1, 2
ermekhvtr
Друзья программситы, очень нужна ваша помощь с прохождением собеседования.
В целом у меня было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
Не.... С такими "познаниями", в частности по п.1, лучше не идти на собеседование на программиста.... Не возьмут, "зуб даю" wink.gif

PS. Если чё - нету такого Икс. Потому то не может он быть равен одновремено 3-м разным числам.... А может и есть, согласно ответу, данному позднее... Но в любом случае первую часть своего ответа буду отстаивать smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
T1grOK
1) $x = true;


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Invis1ble
sergeiss
Цитата
PS. Если чё - нету такого Икс. Потому то не может он быть равен одновремено 3-м разным числам.
T1grOK
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
Цитата (ermekhvtr @ 16.05.2013 - 18:57)
1. Можно представить что при $length / 2 $lenght может оказаться четным числом и выйдет нецелое число. А кроме этого какие минусы могут быть?


нет такого минуса. минус в том, что нет проверки типа переменной
glock18
3й меня в ступор поставил ohmy.gif какой-то подвох что ли.. да и формулировка (не смогу найти через google?) просто жесть. Либо вопрос неудачный, либо google просто так в вопросе фигурирует
andrey888
Цитата
1) $x = true;

Дополню . и бесконечное множество операций возвращающих true

$x=(n==n);

где n - любое число, строка, массив и т.д. и т.п.

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
inpost
andrey888
Сравнение вернёт true, и в $x будет true smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
andrey888
inpost
А я разве не о том ?? ))

Просто мне подумалось что в любом алогиртме есть разница между явным назначением переменной значения true и привидением ее к такому значению через операцию ..
На вопрос автора я бы ответил как выше написал T1grOK + любая операция по моему примеру )
P.S. Возможно я чуток мудрю , но вдруг автор этого не видит , а препод/работодатель ждет развернутого ответа ))


_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
glock18
Цитата (inpost @ 16.05.2013 - 20:00)
andrey888
Сравнение вернёт true, и в $x будет true smile.gif

В вопросе запись $x = ...., так что такое дополнение тоже имеет некоторый смысл smile.gif По сути то же самое, но формулировка сама собой не подразумевает эквивалентность различных записей одного значения
m4a1fox
Если что, вдруг ТС заглянет то как бы лови ответы на 1 и 2

<!doctype html>
<
html>
<
head>
<
meta charset="utf8" />
<
title></title>
</
head>
<?php
/** 1. Start**/
$x = true;
echo ($x == 1 && $x==2 && ($x==3 || ($x==4 || $x==5))) ? 'OK': '';
/** 1. End**/

/** 2. Start**/

function reverse($str){
$array = array();
for($i=0; $i<=strlen($str); $i++){
$array[$i] = $str[$i];
}
echo implode(array_reverse($array));
}
reverse('Hellow you');
/** 2. End**/

?>
</html>


Тут можно еще подумать.... и если все таки нужно короче и функцией, то как бы вот так

<!doctype html>
<
html>
<
head>
<
meta charset="utf8" />
<
title></title>
</
head>
<?php
/** 1. Start **/
$x = true;
echo ($x == 1 && $x==2 && ($x==3 || ($x==4 || $x==5))) ? 'OK': '';
/** 1. End **/
?>
<hr>
<?php
/** 2. Start **/
function reverse($str){
echo implode(array_reverse(str_split($str)));
}
reverse('Hellow you');
/** 2. End **/

?>
</html>
Быстрый ответ:

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