Array/foreach probleem...
Ik blijf nu al een poos hangen op iets, dus ik dacht, laat ik ut dan maar is vragen ;)
Ik heb een array, en met een foreach ga ik daar overheen, totdat $value is gevonden(dit staat normaal in func).
Zo ziet de array eruit:
Met die var_dumps, debug ik een beetje en daar komt uit:
var_dump($key):
string(7) "_fields"
int "0"
var_dump($this->dbTables[$db][$table],$value):
Deze komt alleen als die array 2 elementen heeft :S
Bovenstaande en:
string "c4c16a64892190a9ec23b0ed304c2204" (is $value, input van functie, $column en $table zijn ook inputs van func)
En deze dus ook, alleen als er 2 elementen in zitten(behalve dan die _fields):
var_dump($key):
int "1" (dus alleen die 2de)
Pleaase, help me :(
Ik heb een array, en met een foreach ga ik daar overheen, totdat $value is gevonden(dit staat normaal in func).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Zo ziet de array eruit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(3) {
["_fields"]=>
array(2) {
[0]=>
string(6) "sessid"
[1]=>
string(7) "content"
}
[0]=>
array(2) {
[0]=>
string(32) "c4c16a64892190a9ec23b0ed304c2204"
[1]=>
string(155) "a:3:{s:9:"SessTimes";a:0:{}s:6:"UniqID";s:40:"32592a2713d3ea3e259ced6fded944c2954a4d04";s:12:"PT_AntiFlood";a:2:{s:4:"TijD";i:1213203193;s:5:"Views";i:1;}}"
}
}
["_fields"]=>
array(2) {
[0]=>
string(6) "sessid"
[1]=>
string(7) "content"
}
[0]=>
array(2) {
[0]=>
string(32) "c4c16a64892190a9ec23b0ed304c2204"
[1]=>
string(155) "a:3:{s:9:"SessTimes";a:0:{}s:6:"UniqID";s:40:"32592a2713d3ea3e259ced6fded944c2954a4d04";s:12:"PT_AntiFlood";a:2:{s:4:"TijD";i:1213203193;s:5:"Views";i:1;}}"
}
}
Met die var_dumps, debug ik een beetje en daar komt uit:
var_dump($key):
string(7) "_fields"
int "0"
var_dump($this->dbTables[$db][$table],$value):
Deze komt alleen als die array 2 elementen heeft :S
Bovenstaande en:
string "c4c16a64892190a9ec23b0ed304c2204" (is $value, input van functie, $column en $table zijn ook inputs van func)
En deze dus ook, alleen als er 2 elementen in zitten(behalve dan die _fields):
var_dump($key):
int "1" (dus alleen die 2de)
Pleaase, help me :(
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey H
ja en dus.....
wat is je probleem?
wat is je probleem?
Edit:
Ik denk dat ik het al zie, je hebt een 2d array, dus moet je een foreach in een foreach gebruiken.
Ik denk dat ik het al zie, je hebt een 2d array, dus moet je een foreach in een foreach gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Ja, dat dus ook, maar die key moet zowieso al werken, maar daar loopt ie al vast :S
Edit:
Hier loopt ie vast: if($key != '_fields'){
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey H
Ik zie nog steeds geen probleem. Wat doet het script niet wat hij wel zou moeten doen?
zo iets?:
edit:
moet dan misschien:
zijn?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$columnz = array_flip($this->dbTables[$db][$table]['_fields']);
$col = $columnz[$column];
foreach($this->dbTables[$db][$table] as $key=>$row){
var_dump($key);
if($key != '_fields' && is_array($row)){
foreach( $row as $k2 => $v2 )
{
//var_dump($key);
//var_dump($this->dbTables[$db][$table],$value);
//if($row[$col] == $value){
if($v2 == $value)
{
$return[] = $row;
}
}
}
}?>
$columnz = array_flip($this->dbTables[$db][$table]['_fields']);
$col = $columnz[$column];
foreach($this->dbTables[$db][$table] as $key=>$row){
var_dump($key);
if($key != '_fields' && is_array($row)){
foreach( $row as $k2 => $v2 )
{
//var_dump($key);
//var_dump($this->dbTables[$db][$table],$value);
//if($row[$col] == $value){
if($v2 == $value)
{
$return[] = $row;
}
}
}
}?>
edit:
moet dan misschien:
zijn?
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Nee, die 2de word hier omgezet in key, door die fields array:
Maar het gaat hier dus fout:
Maar ik weet dus niet wat...
Code (php)
1
2
2
$columnz = array_flip($this->dbTables[$db][$table]['_fields']);
$col = $columnz[$column];
$col = $columnz[$column];
Maar het gaat hier dus fout:
Maar ik weet dus niet wat...
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey H
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$array = $this->dbTables[$db][$table];
// even de array verkleinen
foreach($array as $sKey => $sValue) {
if(is_array($sValue)) {
foreach($sValue as $sndKey => $sndValue) {
// alleen als in de array van _fields ook een soorgelijke code kan voorkomen, hoef je die check er op te zetten
if($sndValue == $value) {
// doe wat je moet doen
} else {
// doe wat je moet doen
}
}
} else {
// $sValue is geen array, dus zal de tweede foreach het niet doen
}
}
?>
$array = $this->dbTables[$db][$table];
// even de array verkleinen
foreach($array as $sKey => $sValue) {
if(is_array($sValue)) {
foreach($sValue as $sndKey => $sndValue) {
// alleen als in de array van _fields ook een soorgelijke code kan voorkomen, hoef je die check er op te zetten
if($sndValue == $value) {
// doe wat je moet doen
} else {
// doe wat je moet doen
}
}
} else {
// $sValue is geen array, dus zal de tweede foreach het niet doen
}
}
?>
Hoop dat ut werkt ;)
Edit:
Heb dit weggehaald, en werkt nu best ;)
if($key != '_fields'){
Heb dit weggehaald, en werkt nu best ;)
if($key != '_fields'){
Gewijzigd op 01/01/1970 01:00:00 door Jeffrey H




