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 Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
04.09.2006, 14:53:47
|
Anfänger
|
|
Registriert seit: Sep 2004
Beiträge: 130
|
|
Referenzen auf Arrays
PHP-Code:
class CTest
{
var $m_aEinheiten;
protected function Test123(&$aErgebnis)
{
$aErgebnis= &$this->m_aEinheiten[0];
}
public function Tick()
{
$this->m_aEinheiten=array(array(1,2,3),array(4,5,6),array(7,8,9));
echo "<br>1<br>";
print_r($this->m_aEinheiten[0]);
echo "<br>2<br>";
$this->Test123($aErgebnis);
print_r($aErgebnis);
echo "<br>3<br>";
$aErgebnis= &$this->m_aEinheiten[0];
print_r($aErgebnis);
echo "<br>4<br>";
}
}
CTest::Tick();
Dieser Code hat folgende Ausgabe:
Zitat:
1
Array ( [0] => 1 [1] => 2 [2] => 3 )
2
3
Array ( [0] => 1 [1] => 2 [2] => 3 )
4
|
Die ausgabe sollte IMHO aber so aussehen:
Zitat:
1
Array ( [0] => 1 [1] => 2 [2] => 3 )
2
Array ( [0] => 1 [1] => 2 [2] => 3 )
3
Array ( [0] => 1 [1] => 2 [2] => 3 )
4
|
Was mache ich falsch?
Wichtig ist das ich nach einer Änderung in $aErgebnis auch gleich die Variable $this->m_aEinheiten mitändere. Deshalb die Referenz(&). Ich weiß wie es innerhalb einer Funktion geht und auch als Rückgabewert geht es. Aber ich will im Endeffekt der Funktion 2 Variablen übergeben($aErgebnis1,$aErgebnis2).
Danke für die Hilfe.
__________________
Friede
Geändert von Generator (04.09.2006 um 15:54:05 Uhr)
|
04.09.2006, 15:00:39
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Referenzen auf Arrays
Zitat:
Zitat von Generator
[
Dieser Code hat folgende Ausgabe:
|
nö, in deinem code werden bloß ein paar methoden definiert, jedoch nirgends aufgerufen. zu sehen, wie dies geschieht, wäre durchaus interessant.
|
04.09.2006, 15:02:49
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Referenzen auf Arrays
probiers mal mit
$this->Test123(&$aErgebnis);
|
04.09.2006, 15:53:37
|
Anfänger
|
|
Registriert seit: Sep 2004
Beiträge: 130
|
|
AW: Referenzen auf Arrays
Zitat:
Zitat von feuervogel
nö, in deinem code werden bloß ein paar methoden definiert, jedoch nirgends aufgerufen. zu sehen, wie dies geschieht, wäre durchaus interessant.
|
Hab ich ergänzt. Siehe oben.
__________________
Friede
Geändert von Generator (04.09.2006 um 15:56:09 Uhr)
|
04.09.2006, 15:56:35
|
Anfänger
|
|
Registriert seit: Sep 2004
Beiträge: 130
|
|
AW: Referenzen auf Arrays
Zitat:
Zitat von feuervogel
probiers mal mit
$this->Test123(&$aErgebnis);
|
Nein. Hat leider keinerlei Effekt.
__________________
Friede
|
04.09.2006, 18:18:25
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Referenzen auf Arrays
du benutzt das schlüsselwort protected, aber unter php5 gibts erst mal eine fehler-meldung, weil du die methode statisch aufrufst aber in ihr $this-> benutzt...wenn du allerdings php4 nutzt, frage ich mich, wieso du protected verwendest...wäre gut, wenn du uns sagen könntest, unter welcer php-version das nun laufen soll...
|
04.09.2006, 18:20:57
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Referenzen auf Arrays
so hat es zumindest unter php5 die gewünschte ausgabe:
PHP-Code:
<?php
class CTest
{
var $m_aEinheiten;
protected function Test123(&$aErgebnis)
{
$aErgebnis = $this->m_aEinheiten[0];
}
public function Tick()
{
$this->m_aEinheiten=array(array(1,2,3),array(4,5,6),array(7,8,9));
echo "<br>1<br>";
print_r($this->m_aEinheiten[0]);
echo "<br>2<br>";
$this->Test123($aErgebnis);
print_r($aErgebnis);
echo "<br>3<br>";
$aErgebnis= &$this->m_aEinheiten[0];
print_r($aErgebnis);
echo "<br>4<br>";
}
}
$c = new CTest();
$c->Tick();
?>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-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 06:50:37 Uhr.
|