Deine Leidenschaft ist die Unterwasserfoto-grafie?
Dann ist Qozido genau das Richtige für Dich!
Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!
www.qozido.de
CronJob-Service
bei SELFPHP mit ...
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken
19.01.2005, 17:59:44
Administrator
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 30
Beiträge: 5.255
doppelte array elemente löschen...
hi,
also ich habe folgendes problem:
ich habe irgendwie keine idee, wie ich ein indiziertes array wie dieses:
PHP-Code:
$ar1 = array( 1 , 1 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 9 , 6 , 1 , 4 , 9 , 9 , 9 , 3 , 3 );
zu so einem indizierten array formatieren/errechnen kann:
PHP-Code:
$ar2 = array( 2 , 1 , 2 , 5 , 1 , 1 , 1 , 1 , 1 , 3 , 2 );
ich möchte also die doppelten array elemente, welche sich im array-index direkt nebeneinander befinden, zusammen zählen...
bildlich müsste man sich das so vorstellen:
Code:
$ar2 = array( 2, 1, 2, 5, 1, 1, 1, 1, 1, 3, 2);
| | | | | | | | | | |
$ar1 = array(1,--+1 | | | | | | | | | |
1,---1 | | | | | | | | | |
2,------1 | | | | | | | | |
3,--------+1 | | | | | | | |
3,---------1 | | | | | | | |
4,-----------+1 | | | | | | |
4,-----------+1 | | | | | | |
4,-----------+1 | | | | | | |
4,-----------+1 | | | | | | |
4,------------1 | | | | | | |
5,---------------1 | | | | | |
9,------------------1 | | | | |
6,---------------------1 | | | |
1,------------------------1 | | |
4,---------------------------1 | |
9,-----------------------------+1 |
9,-----------------------------+1 |
9,------------------------------1 |
3,--------------------------------+1
3,---------------------------------1
);
hat jemand 'ne idee wie man das lösen könnte? ich krieg noch graue haare dran...
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
19.01.2005, 19:37:16
Administrator
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 30
Beiträge: 5.255
hi,
ich habe es doch noch geschaft, ist eigentlich tierisch simpel. hatte wohl 'n bett vor'm kopf. was ne pause nicht alles bewirken kann :-)
die lösung:
PHP-Code:
<?PHP
$array = array( 1 , 1 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 9 , 6 , 1 , 4 , 9 , 9 , 9 , 3 , 3 );
$summe = 1 ;
$sarray = array();
for( $n = 0 ; $n < count ( $array ); $n ++){
if( $array [ $n ] == $array [ $n + 1 ]) $summe ++;
else{
if( $summe > 1 ){
$sarray [] = $summe ;
$summe = 1 ; //buffer reset
}else $sarray [] = 1 ;
}
}
print_r ( $sarray );
?>
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
20.01.2005, 07:52:20
SELFPHP Guru
Registriert seit: Jul 2002
Ort: Oberursel
Beiträge: 4.750
Da ich nicht kapiert habe, was Du hier summierst, mein ich-wollte-es-einfach-mal-versuchen-Versuch:
PHP-Code:
<?php
$array = array( 1 , 1 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 9 , 6 , 1 , 4 , 9 , 9 , 9 , 3 , 3 );
print_r ( $array );
for ( $i = 0 ; $i < count ( $array ); $i ++) {
if (!isset( $array [ $i + 1 ])) {
break;
}
while ( $array [ $i ]== $array [ $i + 1 ]) {
array_splice ( $array , $i , 1 );
if (!isset( $array [ $i ]) || !isset( $array [ $i + 1 ])) {
break;
}
}
}
print_r ( $array );
?>
20.01.2005, 16:57:00
Administrator
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 30
Beiträge: 5.255
hi carsten,
dein 'ich-wollte-es-einfach-mal-versuchen-Versuch' haut net hin.
bei deinem versuch passiert das:
Code:
input: array(1,1,2,3,3,4,4,4,4,4,5,9,6,1,4,9,9,9,3,3)
output: array(1,2,3,4,5,9,6,1,4,9,3)
bei meinem code:
Code:
input: array(1,1,2,3,3,4,4,4,4,4,5,9,6,1,4,9,9,9,3,3)
output: array(2,1,2,5,1,1,1,1,1,3,2)
du gibt das array einfach nur ohne doppelte eintäge aus. doch ich brauchte nen weg, um die doppelten einträge zu zählen, aber nur die die neben einader stehen.
Code:
aus: 1 2 3
wird: 1 1 1
aus 1 22 3
wird: 1 2 1
aus: 11 2 333 1
wird: 2 1 3 1
verstehst du jetzt was ich erreichen wollte?
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
20.01.2005, 16:58:21
SELFPHP Guru
Registriert seit: Jul 2002
Ort: Oberursel
Beiträge: 4.750
Ach, den Part mit dem Zählen habe ich ganz überlesen. Jetzt weiß ich auch, was Du mit der Summe willst... :)
20.01.2005, 17:04:33
Administrator
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 30
Beiträge: 5.255
btw:
ich hab meinen code noch mal überarbeitet. es war ein sinnloser teil drin (was hab ich mir nur dabei gedacht :D)
PHP-Code:
<?PHP
$array = array( 1 , 1 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 9 , 6 , 1 , 4 , 9 , 9 , 9 , 3 , 3 );
$summe = 1 ;
$sarray = array();
for( $n = 0 ; $n < count ( $array ); $n ++){
if( $array [ $n ] == $array [ $n + 1 ]) $summe ++;
else{
$sarray [] = $summe ;
$summe = 1 ; //buffer reset
}
}
print_r ( $sarray );
?>
ach so, ich dachte ich hätte mich schwierig ausgedrückt und wenn du es schon nicht verstanden hättes, wer sollte es denn dann verstehen :P
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
20.01.2005, 17:06:26
SELFPHP Guru
Registriert seit: Jul 2002
Ort: Oberursel
Beiträge: 4.750
Zitat:
Original geschrieben von |Coding
ach so, ich dachte ich hätte mich schwierig ausgedrückt und wenn du es schon nicht verstanden hättes, wer sollte es denn dann verstehen :P
Schleim nicht rum, mach lieber endlich ein Update des Forums. ;)
Na ja, eigentlich gibt's gar keinen Grund ein Update durchzuführen. Ich, der kleine Purist... Aber bevor Du hier weiter Reden schwingst! ;)
Scheisse, schon wieder zwei Smilies in einem Beitrag!
20.01.2005, 17:16:30
Administrator
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 30
Beiträge: 5.255
eh! hetz mit nicht, ein alter mann ist kein d-zug :-)
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Themen-Optionen
Ansicht
Hybrid-Darstellung
Forumregeln
Es ist Ihnen nicht erlaubt , neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt , auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt , Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt , Ihre Beiträge zu bearbeiten.
HTML-Code ist aus .
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:26:02 Uhr.