tablice PHP różnią się od Py obiektów:
- klucze PHP mogą być liczbami całkowitymi lub łańcuchy (asocjacyjne)
- gdy wartość jest dołączony do macierzy, co jest kluczowym numeryczna jest automatycznie przypisany uprzednio dołączanie pary klucz/wartość do tablicy. Przypisany związany klucz ma wartość całkowitą, która jest równa maksymalnej wewnętrznych kluczy tablicowych indeks iteracyjnej numeryczny plus 1,
- Klawisze numeryczne całkowitą w ciągu są odlewane na liczby,
- Kolejność wprowadzania do tablicy jest zachowana . pary klucz/wartość są iterowane zgodnie z kolejnością wstawiania klawiszy. Możemy użyć Pythona OrderedDict naśladować,
- PHP
array[] = 5
jest tłumaczona na Pythonie array.append(5)
lub array[None] = 5
,
- Klucze indeks iterator są manipulowane przez PHP funkcje wbudowane lub są przekazywane przez referencję, z kopią na napisz zasadę.
Chciałbym dać wtyczkę do mojego niedawno wydanego produktu moduł Python pyx.php
. Istnieje klasa Pythona array
w module emulującym tablicę PHP. Nasza emulacja języka Python w tablicy PHP używa zmiennej instancji OrderedDict, , gdzie array._obj to narzędzie OrderedDic do przechowywania wszystkich elementów tablicy i śledzenie ich kolejności wstawiania przy użyciu niestandardowej zmiennej instancji wskaźnika .Spróbuj:
$ git clone https://github.com/wordpy/pyx/
$ python # or ipython`
>>> import pyx.php as Php; array = Php.array
>>> arr1 = array((0,'1-0'),('a','1-a'),('b','1-b'),)
>>> arr2 = array((0,'2-0'),( 1,'2-1'),('b','2-b'),('c','2-c'),)
>>> arr1 + arr2 # same as: Php.array_plus(arr1, arr2), see below
>>> Php.array_merge(arr1, arr2)
>>> import pyx.php as Php; array = Php.array
>>> Arr0 = array() # Arr0._obj is an empty OrderedDict()
>>> Arr1 = array(('a',11), 'zzz', (99,99), 22, 33, (2,22))
>>> Arr1
array(6) {
['a']=> <int> 11
[0]=> <str> zzz
[99]=> <int> 99
[100]=> <int> 22
[101]=> <int> 33
[2]=> <int> 22
}
zip()
prace dla macierzy o różnej len !!!
>>> for i,j in zip(array(1,2,3,4), array(11,22,33)):
... print(i,j)
1 11
2 22
3 33
>>> for i,j in zip(array(1,2), array(11,22,33)):
... print(i,j)
1 11
2 22
array()
w module pyx.php
Cython oferuje prawie wszystko, co tablicą PHP(), a także oferuje wiele innych metod. Patrz: https://wordpy.com/pyx/php/.
Obecnie pyx.php
jest dostępny tylko dla Pythona 3.x z 64-bitowym systemem Linux. Python 2.x, Mac lub inne platformy można kompilować, gdy istnieje wiele żądań .