Schrift
[thread]8510[/thread]

Länge eines Wertes innerhalb einer arrayRef best.: arrayReferenz



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Duff
 2006-11-16 10:31
#71799 #71799
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Hallo,

ich weiß nicht genau ob es überhaupt möglich ist, aber ich würde gerne bei folgendem Aufbau:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
$VAR1 = [
[
'Wert1',
'Wert2',
'Wert3'
],
[
'Wert1',
'Wert2',
'Wert3'
]
];


Die Länge von z.B Wert3 im ersten Array wissen.
Das ganze, also $VAR1 ist eine arrayReferenz.

Danke.
D'OH
Daniel
bloonix
 2006-11-16 10:34
#71800 #71800
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
length($VAR1->[0]->[2])
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
renee
 2006-11-16 10:42
#71801 #71801
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Immer lesenswert zum Thema Referenzen perlreftut
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Duff
 2006-11-16 11:11
#71802 #71802
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Wow, super. Danke.

Ein
Code: (dl )
length($arrayRef->[0]->[2])
hat funktioniert.

Das Problem wäre jetzt nur, wenn bei der Datenbankabfrage (die mache und alles in einer arrayReferenz speichere) das Feld [2] ($arrayRef->[0]->[2]) im z.B. 2ten Array eine andere Größe hat als das Feld im 7ten Array ($arrayRef->[1]->[2] zu $arrayRef->[6]->[2]).
D'OH
Daniel
Linuxer
 2006-11-16 12:32
#71803 #71803
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
[quote=Duff,16.11.2006, 10:11]Das Problem wäre jetzt nur, wenn bei der Datenbankabfrage (die mache und alles in einer arrayReferenz speichere) das Feld [2] ($arrayRef->[0]->[2]) im z.B. 2ten Array eine andere Größe hat als das Feld im 7ten Array ($arrayRef->[1]->[2] zu $arrayRef->[6]->[2]).[/quote]

Unterschiedliche Datensätze können doch unterschiedliche Daten enthalten. Ich erkenne da kein Problem... erläuter bitte mal, warum das ein Problem sein soll...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Duff
 2006-11-16 12:53
#71804 #71804
User since
2006-10-06
283 Artikel
BenutzerIn

user image
[quote=Linuxer,16.11.2006, 11:32]
Unterschiedliche Datensätze können doch unterschiedliche Daten enthalten. Ich erkenne da kein Problem... erläuter bitte mal, warum das ein Problem sein soll...
[/quote]
Stimmt, hast du ja eigentlich Recht. Ich wollte die Länge des Arrays auch nur für die Formatierung nutzen, damit diese "besser" aussieht. Ist aber auch nicht so wichtig.\n\n

<!--EDIT|Duff|1163674459-->
D'OH
Daniel
Duff
 2006-11-16 13:00
#71805 #71805
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Eine Frage hätte ich dazu allerdings noch. Ist es auch möglich, die Anzahl von:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$VAR1 = [
[
'Wert1',
'Wert2',
'Wert3'
],
[
'Wert1',
'Wert2',
'Wert3'
],
[
...
]
];


zu bestimmen?
Habe es zur Zeit so gelöst, dass ich eine extra Variable bei der Ausgabe verwende, die dann hochgezählt wird.
D'OH
Daniel
renee
 2006-11-16 13:11
#71806 #71806
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Von was??

Meinst Du
Code: (dl )
print scalar(@{$arrayref})
?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Duff
 2006-11-16 13:23
#71807 #71807
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Genau das war's. Danke.

Und ich habe alles Möglich mit $# und keine Ahnung was noch alles probiert.

Nochmals Danke.
D'OH
Daniel
Linuxer
 2006-11-16 15:06
#71808 #71808
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Um den letzten Index eines Array-Ref zu erhalten:

Code: (dl )
1
2
$ref = [ qw/a b c/ ];
print $#{$ref}, $/;
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2006-11-16 10:31.