IF geeft verkeerd resultaat?
Ik had hier dus een php-scriptje, maar het schijnt dat IF hier verkeerd werkt
hier is het scriptje:
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
en hier is mijnjson.txt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,"B","B","B","B","B","B",0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]
En dus bij coordinaten (11,16), zou het 0 moeten zijn (geeft hij ook wel bij mijn controle), maar toch geeft hij een bericht: fout
Wat doe ik hier fout?
Gewijzigd op 01/01/1970 01:00:00 door Rens Rikkerink
Dit geeft 'Invalid JSON: TypeError:Statement on line 21: Cannot convert undefined or null to Object' (javascript).
Dat is geen json... Kopiëer/plak foutje, nu verbeterd
php.net kunt lezen geeft json_decode een object terug (want dat is json ook in principe).
Als je daar een array van wilt hebben, moet je de tweede parameter op true zetten (json_decode($string,1);).
Zie dus ook php.net / json_decode.
Zoals je op Als je daar een array van wilt hebben, moet je de tweede parameter op true zetten (json_decode($string,1);).
Zie dus ook php.net / json_decode.
(Bij mijn webhosting service is PHP nog geen 5.3.*)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// ... eigenlijke json.php
If ( !function_exists('json_encode') )
{
function json_encode($value)
{
$json = new Services_JSON();
$output = $json->encode($value);
return $output;
}
function json_decode($value)
{
$json = new Services_JSON();
$json->Services_JSON(SERVICES_JSON_LOOSE_TYPE);
$output = $json->decode($value);
return $output;
}
}
?>
// ... eigenlijke json.php
If ( !function_exists('json_encode') )
{
function json_encode($value)
{
$json = new Services_JSON();
$output = $json->encode($value);
return $output;
}
function json_decode($value)
{
$json = new Services_JSON();
$json->Services_JSON(SERVICES_JSON_LOOSE_TYPE);
$output = $json->decode($value);
return $output;
}
}
?>
Door $json->Services_JSON(SERVICES_JSON_LOOSE_TYPE); hoef ik dat al niet meer te doen. Het probleem is alleen, bij de eerste regel geeft hij wel een 0, maar toch geeft de 2e echo het bericht: fout.
[
Edit:
]
Ok, ik heb het gevonden, maar ik weet niet waarom hij het niet deed.
Eigenlijk zal ik : nooit gebruiken in mijn string, maarja, op deze manier werkt het. (Na 6 uur proberen :P)
Ok, ik heb het gevonden, maar ik weet niet waarom hij het niet deed.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// ... Begin
$map = json_decode(file_get_contents('./mijnjson.txt'));
//Split
$thisattr = explode(':', $map[$y][$x]);
$thisattr = $thisattr[0];
if ( $thisattr == "B" )
// ... Eind
?>
// ... Begin
$map = json_decode(file_get_contents('./mijnjson.txt'));
//Split
$thisattr = explode(':', $map[$y][$x]);
$thisattr = $thisattr[0];
if ( $thisattr == "B" )
// ... Eind
?>
Eigenlijk zal ik : nooit gebruiken in mijn string, maarja, op deze manier werkt het. (Na 6 uur proberen :P)
Gewijzigd op 01/01/1970 01:00:00 door Rens Rikkerink