jsnlib / jsnao
轻松使用 ArrayObject
1.1.4
2016-04-07 06:39 UTC
Requires
- php: >=5.2.4
This package is auto-updated.
Last update: 2024-08-29 04:03:26 UTC
README
v 1.1.4
将数组(或其他格式)以更易理解的物件风格进行调用。例如
$data = array('say' => 'hello');
我们可以直接这样使用
echo $data->say; // 輸出 hello
其他说明请查看:我的博客
支持多种格式输入的示例
数组 Array
$mix = array('my'=>"Jsnao"); $result = new Jsnao($mix); $result->my; // 輸出: Jsnao
JSON
$mix = '{"my":"Jsnao"}'; $result = new Jsnao($mix); $result->my; // 輸出: Jsnao
对象 Object
$mix = new stdClass; $mix->my = "Jsnao"; $result = new Jsnao($mix); $result['my']; // 輸出: Jsnao
字符串 String
$mix = 'Hello World'; $result = new Jsnao($mix); $result->data; // 輸出: Hello World
整数或浮点数 Integer or Double
$mix = 123456; $result = new Jsnao($mix); $result->data; // 輸出: 123456
空值 Null
$mix = null; $result = new Jsnao($mix);
一般用法
include_once("../jsnao.php"); $cart = array ( 'A001' => array ( 'name' => 'apple', ), 1000 => array ( 'name' => 'water' ) ); $cart = new jsnao($cart); // 取值 $cart->A001->name; //output: apple // 或 $cart->get(1000)->name; // 賦值 $cart->A002 = array('name' => 'banana'); // 或 $cart->A002 = array(); $cart->A002->name = 'banana'; // 或 $cart->put(2000, array('name' => 'lemon')); // 修改 $cart->A001->name = 'cherry'; // 或 $cart->A001->put('name', 'cherry'); // 刪除 $cart->A003 = array('name' => 'bag'); unset($cart->A003); echo $cart;
数组用法
<? include_once("../jsnao.php"); // 購物車 $cart = array ( '001' => array ( 'name' => 'apple', ) ); $cart = new Jsnao($cart); // 取值 $cart['001']['name']; // output: apple // 賦值 $cart['002']['name'] = "banana"; // 修改 $cart['001']['name'] = "cherry"; // 刪除 $cart['003']['name'] = "bag"; unset($cart['003']); echo $cart;
继承 ArrayObject 原生用法
<? include_once("../jsnao.php"); // 購物車 $cart = array ( '001' => array ( 'name' => 'apple', ) ); $cart = new Jsnao($cart); // 取值 $cart->offsetGet('001')->name; //output: apple // 賦值 $cart->offsetSet('002', array('name' => 'banana')); //output: apple // 修改 $cart->offsetGet('001')->offsetSet('name', 'cherry'); // 刪除 $cart->offsetSet('003', array('name' => 'bag')); $cart->offsetUnset('003'); echo $cart;
方法
Jsnao::get($index)
取值
$result = new jsnao($array); $result->get(0); // 或 $result[0];
Jsnao::put($index, $value)
赋值
$result = new jsnao($array); $result->put(1, "banana"); // 或 $result->put[1] = "banana"; // 或 $result->first = "banana";
Jsnao::toArray()
获取数组类型
$result = new jsnao($array); $result->toArray();
Jsnao::log($title = NULL)
通过 JavaScript 输出到 console.log()
$result = new jsnao($array); $result->log(); // 或 $result->log("自訂顯示名稱"); // 或 $data = $result->log();
也可以放在想要查看的位置,例如
$data = array ( 'profile' => array ( 'phone' => "0939-333-333", 'tel' => "07-333-3333" ), ); $data = new jsnao($data); echo $data->log()->profile->phone; // 輸出 0939-333-333 // console.log() 為 Object {profile: Object {phone: "0939-333-333", tel: "07-333-3333"}} // 或是放在另外一個定位點 echo $data->profile->log()->phone; // 輸出 0939-333-333 // console.log() 為 Object {phone: "0939-333-333", tel: "07-333-3333"}
var_export()
输出查看错误时使用
$result = new jsnao($array); echo $result;