Example #1
0
 public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested)
 {
     $class = $stub->class;
     $flags = $c->getFlags();
     $b = array("~flag::STD_PROP_LIST" => (bool) ($flags & \ArrayObject::STD_PROP_LIST), "~flag::ARRAY_AS_PROPS" => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS), "~iteratorClass" => $c->getIteratorClass(), "~storage" => $c->getArrayCopy());
     if ($class === 'ArrayObject') {
         $a = $b;
     } else {
         if (!($flags & \ArrayObject::STD_PROP_LIST)) {
             $c->setFlags(\ArrayObject::STD_PROP_LIST);
             if ($a = (array) $c) {
                 $class = new \ReflectionClass($class);
                 foreach ($a as $k => $p) {
                     if (!isset($k[0]) || "" !== $k[0] && !$class->hasProperty($k)) {
                         unset($a[$k]);
                         $a["+" . $k] = $p;
                     }
                 }
             }
             $c->setFlags($flags);
         }
         $a += $b;
     }
     return $a;
 }
Example #2
0
 /**
  * Constructor method
  *
  * @param ORM $orm
  * @param int $idChat = null
  * @access public
  * @return void
  */
 public function __construct(ORM $orm, $idChat = null)
 {
     $this->orm = $orm;
     $this->idChat = $idChat;
     $this->talkingTo = new ArrayObject();
     $this->talkingTo->setFlags(ArrayObject::ARRAY_AS_PROPS);
     $this->parseInformation();
 }
Example #3
0
/**
 * change array to array object
 * @param array $_array : target array
 * @return boolean|ArrayObject
 */
function get_array_object($_array)
{
    if (!is_array($_array)) {
        return false;
    }
    $obj = new ArrayObject($_array);
    $obj->setFlags(ArrayObject::ARRAY_AS_PROPS);
    return $obj;
}
/**
 * UNUSED
 * @param $json - Riot-API-JSON
 * @param array $retArr - If the array shall already contain some default values, specify one here.
 * @param bool $onlySprites - Unused
 * @return ArrayObject
 */
function parseSpellJSON($json, $onlySprites = false)
{
    $retArr = array();
    $arr = json_decode($json, true);
    foreach ($arr["data"] as $value) {
        if ($onlySprites) {
            $retArr[$value["key"]] = "http://ddragon.leagueoflegends.com/cdn/5.16.1/img/spell/" . $value["key"] . ".png";
            continue;
        }
        $retArr[$value["key"]] = new ArrayObject(array("img" => "http://ddragon.leagueoflegends.com/cdn/5.16.1/img/spell/" . $value["key"] . ".png", "name" => $value["name"], "key" => $value["key"]), ArrayObject::ARRAY_AS_PROPS);
    }
    $retObj = new ArrayObject($retArr);
    $retObj->setFlags(ArrayObject::ARRAY_AS_PROPS);
    return $retObj;
}
 public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested)
 {
     $prefix = Caster::PREFIX_VIRTUAL;
     $class = $stub->class;
     $flags = $c->getFlags();
     $b = array($prefix . 'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST), $prefix . 'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS), $prefix . 'iteratorClass' => $c->getIteratorClass(), $prefix . 'storage' => $c->getArrayCopy());
     if ($class === 'ArrayObject') {
         $a = $b;
     } else {
         if (!($flags & \ArrayObject::STD_PROP_LIST)) {
             $c->setFlags(\ArrayObject::STD_PROP_LIST);
             $a = Caster::castObject($c, new \ReflectionClass($class));
             $c->setFlags($flags);
         }
         $a += $b;
     }
     return $a;
 }
 function setFlags($flags)
 {
     echo __METHOD__ . "({$flags})\n";
     ArrayObject::setFlags($flags);
 }
Example #7
0
<?php

$a = new ArrayObject();
$a['hello'] = 'Moto';
$a['attr'] = (object) array('name' => 'Vadim', 'surname' => 'Voituk');
var_dump($a->offsetExists('attr'));
$a->setFlags(ArrayObject::ARRAY_AS_PROPS);
var_dump($a->attr);
Example #8
0
<?php

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
$fruitsArrayObject = new ArrayObject($fruits);
// Get the current flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
// Set new flags
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Get the new flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
Example #9
0
<?php

#Example #1 ArrayIterator::Get the current flags
$array = array('one' => 'one lakh', 'two' => 'two crores', 'three' => 'three thousand', 'Four Rupees', 'eighT' => 'Eight millions');
#print_r($array);
$arrayobject = new ArrayObject($array);
$arrayobject->setFlags(ArrayIterator::ARRAY_AS_PROPS);
var_dump($arrayobject);
echo $arrayobject->one;
#echo  $arrayobject->one;
?>

 /**
  * Implementation of ArrayObject::setFlags().
  *
  * Set the flags that change the behavior of the ArrayObject.
  *
  * No value is returned.
  *
  * @param int $flags
  */
 public function setFlags($flags)
 {
     $this->arrayObject->setFlags($flags);
 }
Example #11
0
 /**
  * Adds an extra source container to this object.
  *
  * @param mixed $container \Zend_Config, array or \ArrayObject
  * @param string $name An optional name to identify the container
  * @return \MUtil_Registry_Source
  */
 public function addRegistryContainer($container, $name = null)
 {
     if ($container instanceof \Zend_Config) {
         $container = $container->toArray();
     }
     if (is_array($container)) {
         $container = new \ArrayObject($container);
     }
     if ($container instanceof \ArrayObject) {
         $container->setFlags(\ArrayObject::ARRAY_AS_PROPS);
     }
     // Always append in reverse order
     if (null === $name) {
         array_unshift($this->_containers, $container);
     } else {
         $this->_containers = array($name => $container) + $this->_containers;
     }
     return $this;
 }