Het volgende stukje code:
in php maak ik een instance aan van deze class, en ken een array toe:
nu wil ik iets in het selectedelement kunnen zetten, en indien deze waarde niet in de array 'myarray' voorkomt, moet selectedelement de waarde krijgen van het eerste element uit 'myarray'. Ik zou zeggen dat dat zo moet kunnen:
dit werkt echter niet. de enige manier die ik tot nu toe heb kunnen vinden, om dit te doen, is:
Dit vind ik echter niet fraai.. hoe doe ik dit zonder tussenvariabele?
Ik heb wat getest:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| class myclass { var $myarray; var $selectedelement; function setarray( $req_myarray ) { $this->myarray = $req_myarray; } function getarray() { return $this->myarray; } function setselectedelement( $req_selectedelement ) { $this->selectedelement = $req_selectedelement; } function getselectedelement() { return $this->selectedelement ; } function myclass() { } } |
in php maak ik een instance aan van deze class, en ken een array toe:
PHP:
1
2
| var $arr = new ( myarray ); $arr-> setarray( array( 'hello' , 'world' ) ); |
nu wil ik iets in het selectedelement kunnen zetten, en indien deze waarde niet in de array 'myarray' voorkomt, moet selectedelement de waarde krijgen van het eerste element uit 'myarray'. Ik zou zeggen dat dat zo moet kunnen:
PHP:
1
2
3
4
| $arr -> setselectedelement( 'onzin' ); if (!in_array( $arr->getselectedelement(), $arr->getarray() ) { $arr->setselectedelement( $arr->getarray[0] ); } |
dit werkt echter niet. de enige manier die ik tot nu toe heb kunnen vinden, om dit te doen, is:
PHP:
1
2
3
4
5
| $arr -> setselectedelement( 'onzin' ); if (!in_array( $arr->getselectedelement(), $arr->getarray() ) { $firstelement = $arr->getarray(); $arr->setselectedelement( $arr->$firstelement[0] ); } |
Dit vind ik echter niet fraai.. hoe doe ik dit zonder tussenvariabele?
Ik heb wat getest:
PHP:
1
2
3
4
5
6
| echo $arr->getarray[0] // levert op : een lege string echo $arr->getarray() // levert op : de hele array echo $arr->getarray()[0] // levert op : foutmelding |
[ Voor 12% gewijzigd door Verwijderd op 13-02-2005 13:13 ]