Renamen van array keys
Goedenavond,
stel ik heb de volgende array
En ik wil de keys: 'Module1', en 'Module2' veranderen naar wat is ingevuld bij bv: information->name. Dus module1 zou dan 'test1' worden en module2 'test2'.
Hoe kan ik dit realiseren?
Alvast bedankt
stel ik heb de volgende array
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
Array
(
[module1] => Array
(
[information] => Array
(
[name] => test1
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
[module2] => Array
(
[information] => Array
(
[name] => test2
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
)
?>
Array
(
[module1] => Array
(
[information] => Array
(
[name] => test1
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
[module2] => Array
(
[information] => Array
(
[name] => test2
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
)
?>
En ik wil de keys: 'Module1', en 'Module2' veranderen naar wat is ingevuld bij bv: information->name. Dus module1 zou dan 'test1' worden en module2 'test2'.
Hoe kan ik dit realiseren?
Alvast bedankt
Gesponsorde koppelingen:
Werkt voor de heft. Renamed alleen de eerste, maar array 'module2' wordt verwijderd. Dit is de code waarmee de array wordt gecontroleerd en dergelijke. Let niet op de netheid / snelheid etc, dat moet ik nog verbeteren.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
public function setModule( Array $options = array( ) )
{
if( count( $options ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in de array gevonden' );
}
$keys = array_keys( $options );
for( $i = 0; $i < count( $keys ); $i++ ) {
if( !isset( $options[$keys[$i]]['information'], $options ) ) {
throw new Module_Exception( 'Key: \'Information\' kan niet in de array met opties worden gevonden' );
}
if( !isset( $options[$keys[$i]]['options'], $options ) ) {
throw new Module_Exception( 'Key: \'Options\' kan niet in de array met opties worden gevonden');
}
if( count( $options[$keys[$i]]['information'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Information\' gevonden' );
}
if( count( $options[$keys[$i]]['options'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Options\' gevonden' );
}
if( array_key_exists( 'routes', $options ) ) {
if( count( $options['routes'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Routes\' gevonden' );
}
}
if( !isset( $options[$keys[$i]]['information']['name'], $options ) || is_null( $options[$keys[$i]]['information']['name'] ) ) {
throw new Module_Exception( 'Key: \'Name\' kan niet in de sub-array \'Information\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['description'], $options ) || is_null( $options[$keys[$i]]['information']['description'] ) ) {
throw new Module_Exception( 'Key: \'Description\' kan niet in de sub-array \'Information\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author'], $options ) || !is_array( $options[$keys[$i]]['information']['author'] ) ) {
throw new Module_Exception( 'Key: \'Author\' kan niet in de sub-array \'Information\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['information']['license'], $options ) || !is_array( $options[$keys[$i]]['information']['license'] ) ) {
throw new Module_Exception( 'Key: \'License\' kan niet in de sub-array \'Information\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['information']['author']['name'], $options ) || is_null( $options[$keys[$i]]['information']['author']['name'] ) ) {
throw new Module_Exception( 'Value: \'Name\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author']['email'], $options ) || is_null( $options[$keys[$i]]['information']['author']['email'] ) ) {
throw new Module_Exception( 'Value: \'Email\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author']['homepage'], $options ) || is_null( $options[$keys[$i]]['information']['author']['homepage'] ) ) {
throw new Module_Exception( 'Value: \'Homepage\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['license']['version'], $options ) || is_null( $options[$keys[$i]]['information']['license']['version'] ) ) {
throw new Module_Exception( 'Value: \'Version\' kan niet in de sub-array \'Information > license\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['license']['copyright'], $options ) || is_null( $options[$keys[$i]]['information']['license']['copyright'] ) ) {
throw new Module_Exception( 'Value: \'Copyright\' kan niet in de sub-array \'Information > license\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['path'], $options ) || is_null( $options[$keys[$i]]['options']['path'] ) ) {
throw new Module_Exception( 'Key: \'Path\' kan niet in de sub-array \'Options\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['frontController'], $options ) || is_null( $options[$keys[$i]]['options']['frontController'] ) ) {
throw new Module_Exception( 'Key: \'frontController\' kan niet in de sub-array \'Options\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['menu'], $options ) || !is_array( $options[$keys[$i]]['options']['menu'] ) ) {
throw new Module_Exception( 'Key: \'menu\' kan niet in de sub-array \'Options\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['options']['menu']['name'], $options ) || is_null( $options[$keys[$i]]['options']['menu']['name'] ) ) {
throw new Module_Exception( 'Value: \'Name\' kan niet in de sub-array \'Options > menu\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['menu']['sub-actions'] ) || !is_array( $options[$keys[$i]]['options']['menu']['sub-actions'] ) ) {
throw new Module_Exception( 'Value: \'Sub-actions\' kan niet in de sub-array \'Options > menu\' worden gevonden, of is geen array' );
}
if( isset( $this->modules[$options[$keys[$i]]['information']['name']] ) ) {
throw new Module_Exception( 'Deze module is al reeds geinstalleerd' );
}
}
$tempArray = array( );
foreach( $options as $data ) {
$tempArray[$data['information']['name']] = $data;
}
echo '<pre>';
print_r($tempArray);
//return $options;
}
public function setModule( Array $options = array( ) )
{
if( count( $options ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in de array gevonden' );
}
$keys = array_keys( $options );
for( $i = 0; $i < count( $keys ); $i++ ) {
if( !isset( $options[$keys[$i]]['information'], $options ) ) {
throw new Module_Exception( 'Key: \'Information\' kan niet in de array met opties worden gevonden' );
}
if( !isset( $options[$keys[$i]]['options'], $options ) ) {
throw new Module_Exception( 'Key: \'Options\' kan niet in de array met opties worden gevonden');
}
if( count( $options[$keys[$i]]['information'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Information\' gevonden' );
}
if( count( $options[$keys[$i]]['options'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Options\' gevonden' );
}
if( array_key_exists( 'routes', $options ) ) {
if( count( $options['routes'] ) == 0 ) {
throw new Module_Exception( 'Er zijn geen opties in sub-array \'Routes\' gevonden' );
}
}
if( !isset( $options[$keys[$i]]['information']['name'], $options ) || is_null( $options[$keys[$i]]['information']['name'] ) ) {
throw new Module_Exception( 'Key: \'Name\' kan niet in de sub-array \'Information\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['description'], $options ) || is_null( $options[$keys[$i]]['information']['description'] ) ) {
throw new Module_Exception( 'Key: \'Description\' kan niet in de sub-array \'Information\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author'], $options ) || !is_array( $options[$keys[$i]]['information']['author'] ) ) {
throw new Module_Exception( 'Key: \'Author\' kan niet in de sub-array \'Information\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['information']['license'], $options ) || !is_array( $options[$keys[$i]]['information']['license'] ) ) {
throw new Module_Exception( 'Key: \'License\' kan niet in de sub-array \'Information\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['information']['author']['name'], $options ) || is_null( $options[$keys[$i]]['information']['author']['name'] ) ) {
throw new Module_Exception( 'Value: \'Name\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author']['email'], $options ) || is_null( $options[$keys[$i]]['information']['author']['email'] ) ) {
throw new Module_Exception( 'Value: \'Email\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['author']['homepage'], $options ) || is_null( $options[$keys[$i]]['information']['author']['homepage'] ) ) {
throw new Module_Exception( 'Value: \'Homepage\' kan niet in de sub-array \'Information > author\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['license']['version'], $options ) || is_null( $options[$keys[$i]]['information']['license']['version'] ) ) {
throw new Module_Exception( 'Value: \'Version\' kan niet in de sub-array \'Information > license\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['information']['license']['copyright'], $options ) || is_null( $options[$keys[$i]]['information']['license']['copyright'] ) ) {
throw new Module_Exception( 'Value: \'Copyright\' kan niet in de sub-array \'Information > license\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['path'], $options ) || is_null( $options[$keys[$i]]['options']['path'] ) ) {
throw new Module_Exception( 'Key: \'Path\' kan niet in de sub-array \'Options\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['frontController'], $options ) || is_null( $options[$keys[$i]]['options']['frontController'] ) ) {
throw new Module_Exception( 'Key: \'frontController\' kan niet in de sub-array \'Options\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['menu'], $options ) || !is_array( $options[$keys[$i]]['options']['menu'] ) ) {
throw new Module_Exception( 'Key: \'menu\' kan niet in de sub-array \'Options\' worden gevonden, of is geen array' );
}
if( !isset( $options[$keys[$i]]['options']['menu']['name'], $options ) || is_null( $options[$keys[$i]]['options']['menu']['name'] ) ) {
throw new Module_Exception( 'Value: \'Name\' kan niet in de sub-array \'Options > menu\' worden gevonden, of is niet gevuld' );
}
if( !isset( $options[$keys[$i]]['options']['menu']['sub-actions'] ) || !is_array( $options[$keys[$i]]['options']['menu']['sub-actions'] ) ) {
throw new Module_Exception( 'Value: \'Sub-actions\' kan niet in de sub-array \'Options > menu\' worden gevonden, of is geen array' );
}
if( isset( $this->modules[$options[$keys[$i]]['information']['name']] ) ) {
throw new Module_Exception( 'Deze module is al reeds geinstalleerd' );
}
}
$tempArray = array( );
foreach( $options as $data ) {
$tempArray[$data['information']['name']] = $data;
}
echo '<pre>';
print_r($tempArray);
//return $options;
}
Gewijzigd op 20/12/2010 21:55:52 door Niels Kieviet
Wow.
Naja, zal wel effe gaan testen.
Eerst die @$#$%$#^$%^ xdebug uit zien te krijgen.
Naja, zal wel effe gaan testen.
Eerst die @$#$%$#^$%^ xdebug uit zien te krijgen.
Goed, ik wacht rustig af, en probeer ondertussen ook nog wat :)
Andere editor even gebruiken? :)
Quote:
Eerst die @$#$%$#^$%^ xdebug uit zien te krijgen.
Andere editor even gebruiken? :)
Als je een test array hebt zou het wat sneller gaan.
Nee. Die stomme xdebug wilt niet met editor koppelen :-(
Maar goed, php.ini al verneukt, dus het werkt weer.
Nee. Die stomme xdebug wilt niet met editor koppelen :-(
Maar goed, php.ini al verneukt, dus het werkt weer.
Test array gaf ik toch aan het begin van dit topic?
Nogmaals dan:
Nogmaals dan:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
[code]<?php
Array
(
[module1] => Array
(
[information] => Array
(
[name] => test1
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
[module2] => Array
(
[information] => Array
(
[name] => test2
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
)
?>
[code]<?php
Array
(
[module1] => Array
(
[information] => Array
(
[name] => test1
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
[module2] => Array
(
[information] => Array
(
[name] => test2
[description] => Bladiebladieblabla ....
[author] => Array
(
[name] => .........
[email] => .....
[homepage] => ....
)
[license] => Array
(
[version] => .....
[copyright] => ....
)
)
[options] => Array
(
[path] => path/to/module
[frontController] => .....
[menu] => Array
(
[name] => Test module
[sub-actions] => Array
(
[test-1] => Array
(
[name] => submodule 1
[link] => link-naar-actie-in-de-hoofd-module
[image] => naam-van-icon
)
)
)
)
[routes] => Array
(
[file] => routes.ini
)
)
)
?>
Gewijzigd op 20/12/2010 22:07:32 door Niels Kieviet
Ja, wow, dat kan je ook echt in php dumpen -_-'
Heb al een array.
Nee. Incorrect.
Nee. Incorrect.
Gewijzigd op 20/12/2010 22:15:16 door Karl Karl
Oh zo, my bad..
edit: nu heb je er wel één ;)
edit: nu heb je er wel één ;)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
$options = array(
// Module 1
'module1' => array(
'information' => array(
'name' => 'e-commerce',
'description' => 'Module waarmee e-commerce op het web kan worden verricht. Bladiebladieblabla ....',
'author' => array(
'name' => 'Niels kieviet',
'email' => '.......',
'homepage' => '..........'
),
'license' => array(
'version' => '$Revision v1.00$',
'copyright' => 'Copyright (c) 2010, Niels kieviet'
)
),
'options' => array(
'path' => 'path/to/module',
'frontController' => 'BaseController', // path:/controllers/BaseController.php
'menu' => array(
'name' => 'Test module',
'sub-actions' => array (
'test-1' => array(
'name' => 'submodule 1',
'link' => 'link-naar-actie-in-de-hoofd-module',
'image' => 'naam-van-icon' // Als deze leeg is wordt een standaard gepakt
)
)
)
),
'routes' => array(
'file' => 'routes.ini' // path:/config/routes.ini
)
),
// Module 2
'module2' => array(
'information' => array(
'name' => 'e-commerce',
'description' => 'Module waarmee e-commerce op het web kan worden verricht. Bladiebladieblabla ....',
'author' => array(
'name' => 'Niels kieviet',
'email' => '.....',
'homepage' => '....'
),
'license' => array(
'version' => '$Revision v1.00$',
'copyright' => 'Copyright (c) 2010, Niels kieviet'
)
),
'options' => array(
'path' => 'path/to/module',
'frontController' => 'BaseController', // path:/controllers/BaseController.php
'menu' => array(
'name' => 'Test module',
'sub-actions' => array (
'test-1' => array(
'name' => 'submodule 1',
'link' => 'link-naar-actie-in-de-hoofd-module',
'image' => 'naam-van-icon' // Als deze leeg is wordt een standaard gepakt
)
)
)
),
'routes' => array(
'file' => 'routes.ini' // path:/config/routes.ini
)
)
);
$options = array(
// Module 1
'module1' => array(
'information' => array(
'name' => 'e-commerce',
'description' => 'Module waarmee e-commerce op het web kan worden verricht. Bladiebladieblabla ....',
'author' => array(
'name' => 'Niels kieviet',
'email' => '.......',
'homepage' => '..........'
),
'license' => array(
'version' => '$Revision v1.00$',
'copyright' => 'Copyright (c) 2010, Niels kieviet'
)
),
'options' => array(
'path' => 'path/to/module',
'frontController' => 'BaseController', // path:/controllers/BaseController.php
'menu' => array(
'name' => 'Test module',
'sub-actions' => array (
'test-1' => array(
'name' => 'submodule 1',
'link' => 'link-naar-actie-in-de-hoofd-module',
'image' => 'naam-van-icon' // Als deze leeg is wordt een standaard gepakt
)
)
)
),
'routes' => array(
'file' => 'routes.ini' // path:/config/routes.ini
)
),
// Module 2
'module2' => array(
'information' => array(
'name' => 'e-commerce',
'description' => 'Module waarmee e-commerce op het web kan worden verricht. Bladiebladieblabla ....',
'author' => array(
'name' => 'Niels kieviet',
'email' => '.....',
'homepage' => '....'
),
'license' => array(
'version' => '$Revision v1.00$',
'copyright' => 'Copyright (c) 2010, Niels kieviet'
)
),
'options' => array(
'path' => 'path/to/module',
'frontController' => 'BaseController', // path:/controllers/BaseController.php
'menu' => array(
'name' => 'Test module',
'sub-actions' => array (
'test-1' => array(
'name' => 'submodule 1',
'link' => 'link-naar-actie-in-de-hoofd-module',
'image' => 'naam-van-icon' // Als deze leeg is wordt een standaard gepakt
)
)
)
),
'routes' => array(
'file' => 'routes.ini' // path:/config/routes.ini
)
)
);
Gewijzigd op 20/12/2010 22:16:27 door Niels Kieviet
Dit is ook nogal wiedes weer.
Kijk eens naar de name...
Kijk eens naar de name...
Hoebedoel je? twee dezelfde namen? Ja dat is mijn fout, dat mag niet, maar daar is ook controle op, was gewoon even voor het voorbeeld.
Maar ga eerst eens goed hierover slapen :) Ik lees je reactie nog wel.
Fijne avond nog.
Maar ga eerst eens goed hierover slapen :) Ik lees je reactie nog wel.
Fijne avond nog.
Code (php)
Dit pas jij toe.
Maar dat moet een enkele array wezen. En om het netjes te houden kan je ze dus
- module1
- module2
- module3
etc, noemen. Maar om die keys als naam van de module weer te geven is niet netjes, en om bijvoorbeeld, e-commerce als directe configuratie key te gebruiken wil ik ook niet. Het moet namelijk, overzichtelijk blijven. Daarom moet information -> name als key worden gezet, i.p.v van de mogelijkheden hierboven.
Had gedacht dat, dat niet zo moeilijk moest zijn, maar integendeel dus :) maar als je nog wat input hebt, graag!
Gewijzigd op 21/12/2010 13:53:41 door Niels Kieviet
kan je niet een kopie maken van die array en daar de goede waardes inzetten? Of is dat niet de bedoeling?
Ja precies dat is de bedoeling. Maar het probleem is dat ik niet weet hoe ;-) De array_keys zijn bij 'php' niet bekend. Dit kan ook jan, piet, arie, klaas wezen.
Dus een klein voorbeeld:
- key: jan.
- key: piet.
array_keys( $demodulearray );
die geeft dus dit als resultaat:
en de array van jan bevat bijvoorbeeld dit
Nu moet dus de key 'jan' veranderd worden naar 'test-module'. En bij de key 'piet' moet hij dus information->name van key 'piet' pakken en replacen. Snap je? Het script van karl deed dit wel, maar de key 'piet' verwijderde hij dus.
Toevoeging op 21/12/2010 14:59:39:
Dit deed het hem.
Nu nog even de controle dat hij niet twee keer mag voorkomen :) Leuke, puzzels zijn dit altijd :)
Dus een klein voorbeeld:
- key: jan.
- key: piet.
array_keys( $demodulearray );
die geeft dus dit als resultaat:
en de array van jan bevat bijvoorbeeld dit
Nu moet dus de key 'jan' veranderd worden naar 'test-module'. En bij de key 'piet' moet hij dus information->name van key 'piet' pakken en replacen. Snap je? Het script van karl deed dit wel, maar de key 'piet' verwijderde hij dus.
Toevoeging op 21/12/2010 14:59:39:
Dit deed het hem.
Code (php)
Nu nog even de controle dat hij niet twee keer mag voorkomen :) Leuke, puzzels zijn dit altijd :)
Gewijzigd op 21/12/2010 15:19:07 door Niels Kieviet
Jij hebt dus nu precies hetzelfde als ik heb, maar in plaats van een foreach heb je een for loop en het is geen functie.
$result[$options[$keys[$i]]['information']['name']] = !isset($result[$options[$keys[$i]]['information']['name']]) ? $options[$keys[$i]] : $result[$options[$keys[$i]]['information']['name']];
Nu heb je ook check.
$result[$options[$keys[$i]]['information']['name']] = !isset($result[$options[$keys[$i]]['information']['name']]) ? $options[$keys[$i]] : $result[$options[$keys[$i]]['information']['name']];
Nu heb je ook check.
@Karl
Klopt;) Het probleem is dus dat ik verschillende keys had moeten kiezen.
Dom van me.. Ik kwam er net ineens achter. Maar vind het met een for loopje van mooier werken :)
Maar toch erg bedankt voor je input, heeft me goed geholpen. Laat je het resultaat van het geheel nog wel eens een keertje zien;)
Klopt;) Het probleem is dus dat ik verschillende keys had moeten kiezen.
Dom van me.. Ik kwam er net ineens achter. Maar vind het met een for loopje van mooier werken :)
Maar toch erg bedankt voor je input, heeft me goed geholpen. Laat je het resultaat van het geheel nog wel eens een keertje zien;)
Ja, mijn constructie werkt?
de verkorte if / else ? Dat had ik al opgelost voordat jij hem poste ;-)
Had je niet vermeld.
Dat klopt :) Neem je ook niks kwalijk hoor ... Haha dat moest er nog eens bij komen.. Maar goed, hartelijk dank, ik kan weer verder :D
Gewijzigd op 21/12/2010 15:52:52 door Niels Kieviet



