Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z extract!
Forum PHP.pl > Forum > PHP
amstel
Mam problem z rozbiciem tablicy asocjacyjnej na zmienne.

[php:1:0e5f9df560]<?php
$open=("plik.txt");
$tablica=file($open); //file zamienie plik na tablice1
$tablica2=array_count_values($tablica); //array_count_values zamienia tablice1 na tablice2 -asocjacyjną przechowując niepowtarzalne wartości

/*
Przykład 1. Przykład użycia array_count_values()

$tablica = array (1, "witaj", 1, "świecie", "witaj");
print_r(array_count_values ($tablica));


Powyższy przykład wyświetli:
Array
(
[1] => 2
[hello] => 2
[world] => 1
)
*/

extract($tablica2); //rozbija tablice2 na zmienne w których klucz jest nazwą zmiennej, a wartosc- wartoscią

/*
Przykład 1. Przykład użycia extract()



Załóżmy, że $tablica_zmiennych jest tablicą zwróconą przez
wddx_deserialize

$rozmiar = "duży";
$tablica_zmiennych = array ("kolor" => "niebieski",
"rozmiar" => "średni",
"ksztalt" => "kulisty");
extract ($tablica_zmiennych, EXTR_PREFIX_SAME, "wddx");

print "$kolor, $rozmiar, $ksztalt, $wddx_rozmiarn";

?>

Powyższy przykład wyświetli: niebieski, duży, kulisty, średni

*/

echo $zmienna1; //wyswietla wartosc zmiennej $zmienna1 -nie działa!!!
echo $zmienna2;
echo $zmienna3;
echo $zmienna4;

?>[/php:1:0e5f9df560]

zmienne nie są wyświetlane!
BzikOS
Pokaż zawartość plik.txt
jono
tak, ale czy klucze w tablicy stworzonej za pomocą file() nie mają nazw 0,1,2,3...questionmark.gif Trzeba dać echo $0, $1... albo może się mylę??
amstel
ok, ale ja chce rozbic $tablica2 -która powstala z tablicy 1 i nie byla asocjacyjna (funkcja "file" nie tworzy tablicy asocjacyjnej),

plik.txt:

zmienna1
zmienna2
zmienna2
zmienna1
zmienna4
zmienna3
zmienna1
zmienna3

zawartosc tego pliku jest dodawana przez skrypt. Zalezy mi na podliczeniu kluczy o takich samych wartosciach. Z załozenia zmienne sa ponumerowane od 1 do 4.
BzikOS
[php:1:30f32411ae]<?php
$tablica = file('plik.txt');

foreach($tablica as $aKey=>$aVal)
$tablica[$aKey] = trim($aVal);

$tablica2 = array_count_values($tablica);

print($tablica2['zmienna1']."<br>");
print($tablica2['zmienna2']."<br>");
print($tablica2['zmienna3']."<br>");
print($tablica2['zmienna4']."<br>");
?>[/php:1:30f32411ae]

U mnie działa (z extract() również)
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.