php: nasıl ben php ile daha sonra bir dizi olarak erişmek için bir dosyada bir dizi saklamak?

6 Cevap

Ben sadece hızlı i uzak bir API olsun bir diziyi saklamak istiyorsanız ben bir yerel ana onunla etrafında karışıklık böylece.

Yani:

  1. i anda bir dizi var
  2. insanlar API onu almak zorunda kalmadan dizi kullanmak i istiyorum

Verimlilik vb için burada ihtiyaçları vardır, bu sadece yapılan bazı sanitasyon / biçimlendirme yöntemleri vb almak için gerçek bir site için değil

store_array gibi bir işlev () restore_arrray () var mı?!

6 Cevap

Bunu yapmanın en iyi yolu, JSON Serileştirme olduğunu. Bu okunabilir insan ve (dosya küçük ve yük / kaydetmek hızlıdır) daha iyi performans alırsınız. Kod çok kolaydır. Sadece iki işlev

Örnek kod:

$arr1 = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
file_put_contents("array.json",json_encode($arr1));
# array.json => {"a":1,"b":2,"c":3,"d":4,"e":5}
$arr2 = json_decode(file_get_contents('array.json'), true);
$arr1 === $arr2 # => true

Bu örnek ile kolayca kendi store_array ve restore_array işlevleri yazabilirsiniz.

Sen serialize dosyasına yazmak için bir dizeye bunu yapmak için kullanabilirsiniz, ve beraberindeki unserialize bir dizi yapıya dönmek için.

Böyle JSON gibi olsa bir dil bağımsız yapısı kullanılarak öneririm. Bu durumda daha sonra bunun bir şans var, PHP daha farklı dilleri kullanarak dosyaları yüklemek için izin verir. json_encode saklamak ve json_decode ($str, true) geri döndürmek için.

var_export() istediğinizi tam olarak ne yapar, bu değişkenin her türlü alacak, ve PHP çözümleyici geri okuyabilen bir temsil saklamak. Diskte saklamak için file_put_contents ile birleştirmek, ve include kullanmak veya eval geri okumak için olabilir.

// storing
$file = '/tmp/out.php';
file_put_contents($file, var_export($var, true));

//retrieving
$var = include($file);

Php serialze kullanın:

file_put_contents("myFile",serialize($myArray));

Ayrıca benim önerim: kullan php serialze:

file_put_contents("myFile",serialize($myArray));