Alle [0]Werte eines Arrays Ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Alle [0]Werte eines Arrays Ändern

    Hi.

    Ich habe dieses Array. nun möchte ich in php jedes ["x"] dieses Arrays über eine if-condition verändern, komme aber nicht an den Wert heran.

    Ich habe schon mit array_walk(_recursive) experimentiert, aber das nächste was ich bekommen habe ist unexpected var...

    und zwar hiermit:
    wie schaffe ich es, jedes x zu bearbeiten?

    Code:
    function myfunction($value,$key)
    {
    	$value = (int)($value + 500);
    }
    
    print_r($arrayKugeln);
    $MinX = ($arrayKugeln[count($arrayKugeln)-$StammZeilen][1]['x'] - $Kugelradius) - $OffsetLinks;
    $MaxX = $arrayKugeln[(count($arrayKugeln)-$StammZeilen)][count($arrayKugeln[count($arrayKugeln)-$StammZeilen])]['x'] + $Kugelradius + $OffsetRechts;
    $VBH = $arrayKugeln[count($arrayKugeln)][count($arrayKugeln[count($arrayKugeln)])]['y'] + $Kugelradius;
    
    if(($MaxX - $MinX) * 2 <= $Spitzenradius){
    	$VBB = $Spitzenradius*2;
    	array_walk_recursive(array($arrayKugeln),"myfunction");
    } 
    else{
    	$VBB = ($MaxX - $MinX);
    }
    Hier das Array:
    Code:
    Array
    (
        [1] => Array
            (
                [1] => Array
                    (
                        [x] => 0
                        [y] => 1000
                    )
    
            )
    
        [2] => Array
            (
                [1] => Array
                    (
                        [x] => -10
                        [y] => 2009
                    )
    
                [2] => Array
                    (
                        [x] => 10
                        [y] => 2009
                    )
    
            )
    
        [3] => Array
            (
                [1] => Array
                    (
                        [x] => -20
                        [y] => 2026
                    )
    
                [2] => Array
                    (
                        [x] => 0
                        [y] => 2026
                    )
    
                [3] => Array
                    (
                        [x] => 20
                        [y] => 2026
                    )
    
            )
    
        [4] => Array
            (
                [1] => Array
                    (
                        [x] => -30
                        [y] => 2043
                    )
    
                [2] => Array
                    (
                        [x] => -10
                        [y] => 2043
                    )
    
                [3] => Array
                    (
                        [x] => 10
                        [y] => 2043
                    )
    
                [4] => Array
                    (
                        [x] => 30
                        [y] => 2043
                    )
    
            )
    
        [5] => Array
            (
                [1] => Array
                    (
                        [x] => -40
                        [y] => 2060
                    )
    
                [2] => Array
                    (
                        [x] => -20
                        [y] => 2060
                    )
    
                [3] => Array
                    (
                        [x] => 0
                        [y] => 2060
                    )
    
                [4] => Array
                    (
                        [x] => 20
                        [y] => 2060
                    )
    
                [5] => Array
                    (
                        [x] => 40
                        [y] => 2060
                    )
    
            )
    
        [6] => Array
            (
                [1] => Array
                    (
                        [x] => -50
                        [y] => 2077
                    )
    
                [2] => Array
                    (
                        [x] => -30
                        [y] => 2077
                    )
    
                [3] => Array
                    (
                        [x] => -10
                        [y] => 2077
                    )
    
                [4] => Array
                    (
                        [x] => 10
                        [y] => 2077
                    )
    
                [5] => Array
                    (
                        [x] => 30
                        [y] => 2077
                    )
    
                [6] => Array
                    (
                        [x] => 50
                        [y] => 2077
                    )
    
            )
    
        [7] => Array
            (
                [1] => Array
                    (
                        [x] => -60
                        [y] => 2094
                    )
    
                [2] => Array
                    (
                        [x] => -40
                        [y] => 2094
                    )
    
                [3] => Array
                    (
                        [x] => -20
                        [y] => 2094
                    )
    
                [4] => Array
                    (
                        [x] => 0
                        [y] => 2094
                    )
    
                [5] => Array
                    (
                        [x] => 20
                        [y] => 2094
                    )
    
                [6] => Array
                    (
                        [x] => 40
                        [y] => 2094
                    )
    
                [7] => Array
                    (
                        [x] => 60
                        [y] => 2094
                    )
    
            )
    
        [8] => Array
            (
                [1] => Array
                    (
                        [x] => 0
                        [y] => 2114
                        [color] =>
                    )
    
            )
    
    )

  • #2
    Du kannst ja foreach-Schleifen verschachteln bis du an einem x bist.

    Kommentar


    • #3
      Ich habs jetzt so gelöst:

      Code:
      $cb = function(&$value, $key, $Differenz) {
          if($key == "x")
          $value = ($value + $Differenz);
      };
      
      if(($MaxX - $MinX) <= $Spitzenradius * 2){
      	$VBB = $Spitzenradius*2;
          array_walk_recursive($arrayKugeln, $cb, $Differenz);

      Kommentar

      Lädt...
      X