Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]spoooora tablica - czy do zrobienia?
Forum PHP.pl > Forum > Przedszkole
siutek
pytanko:

czy istnieje mozliwosc stworzenia arraya zawierajacego 99.999.999 elementow??
qrees
Cytat(siutek @ 28.03.2008, 23:15:21 ) *
pytanko:

czy istnieje mozliwosc stworzenia arraya zawierajacego 99.999.999 elementow??

A próbowałeś?
siutek
tak, w ponizszy sposob:

  1. <?php
  2. $ile=array();
  3. for ($i=0;$i<=99999999;$i++) {
  4.  $ile[]=$i;
  5. }
  6. ?>


niestety powyzszy mechanizm daje w efekcie komunikat fatal error: allowed memory...
marcio
w php.ini jest dyrektywa na ilosc branej pamieci podczas dzialania skryptu domyslnie jest to 8MB wiec zwieksz do 16MB albo 32MB ale nie pamietam nazwy i nie wiem czu to pomoze
l0ud
Owszem, jest możliwość stworzenia takiej tablicy, ale wydajność będzie tragiczna podobnie jak zużycie pamięci (u siebie uruchomiłem taki skrypt i wyłączyłem jak zaczął zajmować ponad 300MB).

Żaden szanujący się hosting nie pozwoli na działanie czegoś takiego...
ShadowD
A tak z ciekawości po co ci coś tak dużego?? Pewnie da rade napisać coś mniejszego niż te 99999999 tablic napisz co chcesz uzyskać… smile.gif
Mlodycompany
ale po co tablice? nie lepiej na bazie to zrobic?questionmark.gif
siutek
coz... chce wygenerowac wszystkie mozliwe kombinacje ciagów, skladajacych sie z 8 znakow. moze rozwiazaniem jest kazdorazowy zapis do bazy, a w nastepnej petli generacja, i odczyt czy juz cos takiego przypadkiem nie znajduje sie w bazie. jednak w ktorym momencie to zatrzymac? gdy sie okaze, ze w bazie jest 99.999.999 rekordow?
netmare
Ja proponuję trochę liznąć matematyki.
Przy założeniu, że zapiszesz każdy ciąg w pliku i zakończysz go znakiem nowej linii windows to każdy taki ciąg zajmie 10 bajtów.
Więc wszystkie kobinacje dla ascii to jakieś 184467440737 GB

Natomisat przy założeniu, że tylku duże litery z pominięciem polskich to "zaledwie" 2088 GB.

Jeśli o mnie chodzi to życzę powodzenia winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.