Jump to content

marko.crni

Members
  • Posts

    11
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

marko.crni's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. The same problem without zend optimiser, so problem is in PHP 5.1.6
  2. This problem exists on PHP Version 5.1.6 with zend optimizer. On PHP 5.3.2 with no optimizer, result is: array(3) { [1]=> string(10) "Some Value" [2]=> string(10) "Some Value" [3]=> &string(10) "Some Value" } Worked as expected.... So I guess problem is in PHP or Zend optimizer
  3. For info about & read php manual: http://www.php.net/manual/en/control-structures.foreach.php http://php.net/manual/en/language.references.php From manual: As of PHP 5, you can easily modify array's elements by preceding $value with &. This will assign reference instead of copying the value.
  4. Can someone explain this strange behavior: $aArray = array( 1 => null, 2 => null, 3 => null, ); foreach($aArray as $key => &$val) { $val = "Some Value"; foreach($aArray as $Xkey => $Xval){} // Second foreach } var_dump($aArray); Rsult is: array(3) { [1]=> string(10) "Some Value" [2]=> NULL [3]=> NULL } It looks like second foreach breaks reference, why?
  5. @thrope Daniel0 is right Here is another weird thing class cMyTidy extends tidy { public $tralala; } $oMyTidy = new cMyTidy(); doSomething($oMyTidy); function doSomething($oObject) { var_dump($oObject); // returns object(cMyTidy)#1 ..... var_dump($oObject instanceof cMyTidy); // returns bool(false) }
  6. I have problem with type-hinting and extending tidy. This code creates error: class cMyTidy extends tidy { public $tralala; } $oMyTidy = new cMyTidy(); doSomething($oMyTidy); function doSomething(cMyTidy $oObject) { var_dump($oObject); } PHP Fatal error: Argument 1 passed to doSomething() must be an instance of cMyTidy...... If I change type-hinting in function from cMyTidy to tidy everything is OK. Where is the problem?
  7. I'm building little MVC framework and i want to implement dependency injection pattern in it. I have problem fitting dispatcher in that theory because dispatcher is object which decides (depending on request) what action controller to instantiate, and to me that looks contrarily with DI pattern. The same problem i have with View object. I need from request to get information what output was requested, and then to decide do i need viewHtml or viewXml, or ViewRss to instantiate in view object... I'm afraid that my approach is wrong, so can anyone help?
  8. I have custom made CMS and since now i was using my custom db layer. CMS has custom made admin generator for administrating tables (each table can be administrated through data grid). I was thinking to change my db abstraction layer with doctrine. Is there any project that can help me to build admin area for administrating tables,like admin generator in symphony or anything similar. Is there some better solution for me?
  9. I forgot about one thing, and that makes problem even with function solution: assigning value can be a reference. $dims = array('dim1', 'dim2', 'dim3'); $result['dim1']['dim2']['dim3'] =& $val; So, only left solution is eval(). Does anybody have some other solution?
  10. The whole idea was to add entry to array, but dimensions, where to add, is in another array (don't ask why ) I've came up with a similar solution with recursive array. Can anyone think of simpler solution? I was trying with http://php.net/language.variables.variable, but unsuccessfully.
  11. Hi I need help with dynamically building dimensions of array. $arr can have 1 to n dimensions and value of each element can be anything. Something like this: $result = array(); // $arr can have dimensions 1 to n. Each entry is dimensions label $arr = array("dim1.1","dim2.1","dim3.1"); $strDim = "['" . implode("']['", $arr) . "']"; eval('$result' . $strDim . " = 10;"); print_r($result); Array ( [dim1.1] => Array ( [dim2.1] => Array ( [dim3.1] => 10 ) ) ) This solution with eval is working but, i rather avoid it. Only other thing i can think of is recursive function call.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.