Working with arrays in PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$myArray = array(1, 2, 3);
 
// Operation on array copy (not-in-place)
foreach ($myArray as $key => $value) {
  $value = $value * 2;
}
 
// Operation on same array (in-place)
foreach ($myArray as $key => $value) {
  $myArray[$key] = $value * 2;
}
 
// Operation on same array (in-place, shortform)
foreach ($myArray as &$value) {
  $value = $value * 2;
}
 
// Nicely display array values
echo '<pre>';
var_dump($myArray);
echo '< /pre>';

Templating mit Knockout.js

Knockout.js unterstützt das MVVM-Entwurfsmuster von Microsoft und lässt sich sehr gut für das Templating in HTML5-Webprojekten nutzen. Über das data-Attribut lassen sich View-Elemente an ein ViewModel binden, welches die Anzeige dann mit entsprechenden Daten befüllt. Es folgt ein Beispiel für den Einsatz von Knockout.js zum Befüllen von Listen.
Templating mit Knockout.js weiterlesen

Strings alphabetisch sortieren mit LINQ

Das Sortieren von Zeichenkette wird mit LINQ zum Kinderspiel. Der folgende Code nimmt die vollständige alphabetische Sortierung eines Arrays vor:

1
2
3
// http://en.wikipedia.org/wiki/List_of_animal_names
string[] animalNames = { "Zebra", "Cat", "Elephant", "Bird", "Worm", "Giraffe", "Fish", "Monkey", "Badger" };
var sortedAnimalNames = from name in animalNames orderby name select name;

Mit LINQ (engl. Abkürzung für Language Integrated Query) können aber weitaus komplexere Abfragen gemacht werden. Die Syntax ist dabei an SQL angelehnt. Ein paar interessante Beispiele hat Microsoft bereits in „101 LINQ Samples“ zusammengestellt.

Arrays iterieren mit JavaScript

Es gibt mehrere Möglichkeiten, um ein Array in JavaScript zu iterieren. Die gebräuchlichsten Formen sind diese:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var animals = ['beaver','monkey','lion'];
 
// for loop #1
for(var i=0;i<animals.length;i++){
  console.log(animals[i]);
}
 
// for loop #2
for(var i in animals){
  console.log(animals[i]);
}
 
// foreach loop (does not work in IE8 and lower!)
animals.forEach(function(animal){
  console.log(animal);
});

Aus dem Artikel „How many ways can you iterate over an array in JavaScript“ möchte ich noch zwei weitere Wege vorstellen:

1
2
3
4
// Perl-like syntax
[console.log(animal) for each (animal in animals)];
// Iterator
[console.log(animal) for ([i,animal] in Iterator(animals))];