Adrian N. Informatyk
konto usunięte
Temat: PHP QUIZ
Jak sprawdzić czy tablica nie zawiera pustych wartości (stringów) - napisac funkcję.Warunek - nie korzystamy z wbudowanych pętli (while, for, foreach, do while itd.).
Konrad
Karpieszuk
WordPress Plugin
Compatibility
Assurance for WPML
Temat: PHP QUIZ
pytasz o cos takiego?http://wklej.org/id/433987/
if nie jest pętlą, więc zakładam, że go dopuszczasz.
i nie jestem pewien czy konieczna tu jest referencja i czy dobrze ją zastosowałem. niestety nie kumam jej za bardzo, wiec jak by ktos chcial wyjasnic, to ja chetnie poslucham :)
edit:
ok juz doczytalem ze referencja nie jest tu potrzebnaKonrad Karpieszuk edytował(a) ten post dnia 08.12.10 o godzinie 00:39
konto usunięte
Temat: PHP QUIZ
$zawieraPusteStringi = (bool) preg_grep("/^$/", $array);
A bez pisania nowej funkcji się liczy ? ;)Jakub Chrzanowski edytował(a) ten post dnia 08.12.10 o godzinie 00:51
Maciej W. Ruby on what?!
Temat: PHP QUIZ
in_array("", $array, true);Chyba ze w tym temacie chodzi o to zeby wymyslac rozne rzeczy na nowo to sorki.
No dobra, moze i chodzi o to zeby wymyslac na nowo, nie doczytalem.
function omg_lets_look_for_empty_string_in_array($arr) {
if (!is_bool(array_search("",(array) $arr))) return true;
return false;
}
Wiem ze pewnie chodzi zeby zrobic cos ciekawego, ale gdzie tu sens jesli mamy gotowe rozwiazania? :)Maciej Wojdyr edytował(a) ten post dnia 08.12.10 o godzinie 02:18
konto usunięte
Temat: PHP QUIZ
Właśnie spojrzałem, że nie sprecyzowałem do końca zadania. Chodzi o sprawdzenie czy tablica nie zawiera wszystkich pustych wartości. Żeby nakierować, to chodzi o użycie wbudowanych funkcji PHP od przemieszczania się po tablicy (nie chodzi o iteratory, ani kombinacje z zwiększaniem licznika np i++)Ps. dobrze kombinuje Maciej WojdyrŁukasz Adamczewski edytował(a) ten post dnia 08.12.10 o godzinie 09:15
konto usunięte
Temat: PHP QUIZ
No to jeśli chodzi o sprawdzenie, czy wszystkie elementy tablicy są pustymi stringami to można to tak zrobić:$zawieraPusteStringi = count(preg_grep("/^$/", $array)) == count($array);
Jarek W. Software Engineer
Temat: PHP QUIZ
Może coś takiego (nie wiem czy dobrze zrozumiałem zadanie):
<?php
function check($array) {
return !(boolean)array_sum(array_map(function($x) {return strlen($x);}, $array));
}
$a = array(
array('aaa', '', 'ccc'),
array('aaa', 'bbb', 'ccc'),
array('', '', ''),
);
foreach($a as $array) {
$results[] = check($array);
}
var_dump($results);
konto usunięte
Temat: PHP QUIZ
Łukasz Adamczewski:
Jak sprawdzić czy tablica nie zawiera pustych wartości (stringów) - napisac funkcję.
Warunek - nie korzystamy z wbudowanych pętli (while, for, foreach, do while itd.).
To zadanie z typu: jak wbić gwoździa nie używając młotka. Ja bym proponował po prostu odpuszczać kolejkę, jeśli nie możemy wymyślić sensownego pytania.
konto usunięte
Temat: PHP QUIZ
Łukasz Karpuć:
Łukasz Adamczewski:
Jak sprawdzić czy tablica nie zawiera pustych wartości (stringów) - napisac funkcję.
Warunek - nie korzystamy z wbudowanych pętli (while, for, foreach, do while itd.).
To zadanie z typu: jak wbić gwoździa nie używając młotka. Ja bym proponował po prostu odpuszczać kolejkę, jeśli nie możemy wymyślić sensownego pytania.
Wiesz, nie do końca chyba się z Tobą zgodzę, ale za pewne nie słyszałeś o komendach typu array_walk, array_filter itd.
Skoro są takie funkcje to dlaczego ich nie stosować, tym bardziej, że czasem mogą uprościć zapis albo tworzyć skrótowce przy użyciu np. closures i funkcji lambda w php 5.3.
Dla przykładu mój kod:
/**
@param array $array input array
@return boolean
*/
function isEmpty(array $array) {
$callbackFunction = create_function('$v', 'return strlen($v) > 0;');
return (
count(array_filter($array, $callbackFunction)) == 0
) ? true : false;
}
Jarek Walkiewicz prezentuje analogiczne rozwiązanie tylko zamiast counta korzysta z array_sum ale na to samo wychodziŁukasz Adamczewski edytował(a) ten post dnia 08.12.10 o godzinie 19:23
konto usunięte
Temat: PHP QUIZ
Łukasz Adamczewski:
Wiesz, nie do końca chyba się z Tobą zgodzę, ale za pewne nie słyszałeś o komendach typu array_walk, array_filter itd.
Opowiedz mi coś więcej o pehape...
Skoro są takie funkcje to dlaczego ich nie stosować,
-_-'
(bla bla bla)
Mógłbym napisać jakiś złośliwy komentarz, ale nie chce mi się. Miłego wbijania gwoździ głową :)Łukasz Karpuć edytował(a) ten post dnia 08.12.10 o godzinie 20:08
konto usunięte
Temat: PHP QUIZ
Łukasz Karpuć:
Łukasz Adamczewski:
Wiesz, nie do końca chyba się z Tobą zgodzę, ale za pewne nie słyszałeś o komendach typu array_walk, array_filter itd.
Opowiedz mi coś więcej o pehape...
Skoro są takie funkcje to dlaczego ich nie stosować,
-_-'
(bla bla bla)
Mógłbym napisać jakiś złośliwy komentarz, ale nie chce mi się. Miłego wbijania gwoździ głową :)Łukasz Karpuć edytował(a) ten post dnia 08.12.10 o godzinie 20:08
Goldenline ma tą ciekawą własność, że jak się kogoś cytuje to na message boardzie pokazuje pierwszą odpowiedź jakiej udzieliłeś (bez późniejszej korekty którą jak widać wykonałeś) czyli było to:
To nie są komendy, tylko funkcje, gołowąsie.
Ten cytat wskazuje, że po pierwsze chce Ci się pisać złośliwe komentarze, dalej - uznajesz się za starszego, bardziej doświadczonego programistę, którego zdania nie należy kwestionować, po drugie czepiasz się słowa którego znaczenie jest dosyć szerokie i tożsame z poleceniem / rozkazem które ma wykonać interpreter kodu zgadza się?
Po trzecie jeśli wykorzystywanie callbacków jako elementów sterujących logiką, a także rozwiązań pochodnych jest wbijaniem gwoździa głowa to porozmawiaj może z programistami jQuery, gdzie stosowanie funkcji jako parametrów przekazywanych przy "trawersacji" jest powszechną praktyką.
(bla bla bla)
Po czwarte naprawdę imponujący poziom dyskusji prezentujesz.
konto usunięte
Temat: PHP QUIZ
Łukasz Adamczewski:
Ten cytat wskazuje, że.. bla bla bla
Złośliwy to ja mogę dopiero być. Edycja świadczy o tym, że się powstrzymałem. Twoje wnioskowanie jest godne pożałowania.
Powiedziałem co myślę o pytaniu, a Ty wyjeżdżasz na mnie z tekstami sugerującymi, że callbacki to dla mnie czarna magia i snujesz jakieś dzikie wnioski. Ogarniesz się sam, czy chcesz tyradę z mojej strony?
Jarek W. Software Engineer
Temat: PHP QUIZ
Chłopaki, jak macie coś do siebie, to na priv - ten wątek powstał po to, aby zamieszczać tutaj różne zadania do rozwiązania, a które dotyczą języka PHP (niby oczywiste). Nie wszyscy muszą to lubić, ale niektórym, w tym mi, to się podoba.Polecam Wam przeczytać fajny tekst na stronie http://www.benchmark.pl/aktualnosci/Opinia_Jak_nie_byc_trollem_internetowym-31630.html - szczególnie punkt 6. i 8.Jarek W. edytował(a) ten post dnia 08.12.10 o godzinie 21:41
konto usunięte
Temat: PHP QUIZ
Jarek W.:
Chłopaki, jak macie coś do siebie ...
Masz rację.
A ja przyniosłem jeden z nieznanych przeze mnie młoteczków:
function hasNoEmptyStrings($a)
{
return !in_array('', $a, 1);
}
Dobranoc.
// PS. Pierwotnie w przykładzie była funkcja array_search(), bo zaszalałem ;]
// PS2. Nie zauważyłem nawet, że Maciej Wojdyr już napisał rozwiązanie..
..a co do doprecyzowania.. co to znaczy "wszystkie puste wartości"? puste stringi i puste tablice? Puste stringi powyżej.. puste tablice.. aaa.. nie chce mi się jednak tracić czasu na pierdoły..Łukasz Karpuć edytował(a) ten post dnia 08.12.10 o godzinie 22:32
konto usunięte
Temat: PHP QUIZ
function hasNoEmptyStrings($a)
{
return !in_array('', $a, 1);
}
Powyższy zapis zapewnia nas że istnieje chociaż jeden pusty string, ale nie jest precyzyjny w określaniu czy cała tablica ma tylko puste wartości (null lub ''), jeśli by jeszcze to nie było jasne to pusty = zerowa długość łańcucha przy konwersji na string czyli
$a = array(0 => null, 1 => '', 2 => '', 3 => 3);
po wykonaniu takiego kodu ma powiedzieć, że nie ma, natomiast dla kodu
$b = array(0 => null, 1 => '', 2 => '', 'cos' => null);
ma pokazać że ma.
Dominik
Marczuk
Remote Team Lead w
Sonalake
Temat: PHP QUIZ
Nie jestem w temacie, ale...function areAllEmpty($s) {Dominik Marczuk edytował(a) ten post dnia 08.12.10 o godzinie 23:26
$ret = true;
foreach ($s as $v) $ret &= empty($v);
return $ret;
}
Konrad
Karpieszuk
WordPress Plugin
Compatibility
Assurance for WPML
Temat: PHP QUIZ
Dominik Marczuk:
foreach ($s as $v) $ret &= empty($v);
bylo zalozenie ze nie uzywamy petli
ale proponuje zakonczyc spor:
do wszystkich: zalozmy ze to bylo zadanie z algorytmiki, a nie zadanie na stworzenie rozwiazania do implementacji w projekcie.
lukasz: wybierz kogos, kto wygral i przejdzmy do nastepnego pytania
Dominik
Marczuk
Remote Team Lead w
Sonalake
Temat: PHP QUIZ
Konrad Karpieszuk:
Dominik Marczuk:
foreach ($s as $v) $ret &= empty($v);
bylo zalozenie ze nie uzywamy petli
No właśnie zastanawiałem się, dlaczego nie było poprawnej odpowiedzi, ale nie czytałem wcześniejszych postów :).
To może tak:
Dominik Marczuk edytował(a) ten post dnia 09.12.10 o godzinie 00:39
function allEmpty($s) {
return empty(preg_grep('/.+/',$s);
}
konto usunięte
Temat: PHP QUIZ
Dominik Marczuk:
Konrad Karpieszuk:
Dominik Marczuk:
foreach ($s as $v) $ret &= empty($v);
bylo zalozenie ze nie uzywamy petli
No właśnie zastanawiałem się, dlaczego nie było poprawnej odpowiedzi, ale nie czytałem wcześniejszych postów :).
To może tak:
Dominik Marczuk edytował(a) ten post dnia 09.12.10 o godzinie 00:39
function allEmpty($s) {
return empty(preg_grep('/.+/',$s);
}
napisałem:
>Jarek Walkiewicz prezentuje analogiczne rozwiązanie tylko zamiast counta korzysta z array_sum ale na to samo wychodzi
,więc Jarek Walkiewicz ma swój czas :D
Podobne tematy
-
PHP » Narzędzia do PHP -
-
PHP » counter.php -
-
PHP » php wyciąganie danych z pliku tekstowego -
-
PHP » Darmowy skrypt PHP do testów (quizów) online -
-
PHP » Jak zapisac dane z php w access log'u (nginx)? -
-
PHP » Programista PHP- projekt w Poznaniu -
-
PHP » php proxy ftp -
-
PHP » Różnice w wynikach z JS i PHP -
-
PHP » PHP przekazywanie danych -
-
PHP » Problem z połączeniem PHP z MySQL Cluster -
Następna dyskusja: