ska flytta en array mellan 2 classer. Har följande kod: Finns ingen anledning att sätta "fnuttar" runt uttrycket som skall skrivas ut. Ändra till tack nu blev det bättre <b>Får felmeddelandet: oj, tack, den låg visst på sidan som allt ska hamna på.problem med att flytta array
<code>
require_once ("db.inc.php");
class write
{
private $myArray = array();
function setHandelse()
{
$db = new db;
$db->db();
$handelser = $db->setArray();
$this->myArray = $handelser;
}
function writeLine()
{
echo "$this->myArray[10][0]";
}
</code>
<code>
class db
{
function setArray()
{
$array = array();
$array[10] = array();
$array[10][0] = "11";
$array[10][1] = "20";
$array[10][2] = "23";
return $array;
}
}
</code>
Hur får jag ut arrayen i den översta classen? Just nu skrivs följande ut: Array[10][0]
Tacksam för all hjälpSv: problem med att flytta array
echo $this->myArray[10][0];Sv:problem med att flytta array
Nästa problem med array(matris)
<code>
require_once ("db.inc.php");
class Kalender
{
private $ar = 2007;
private $manad = 11;
function skapa()
{
$db = new db;
$db->creatArray();
for ($i = 1; $i <= $30; $i++)
{
$db->db($this->ar, $this->manad, $i);
if($db->getEvent())
{
echo "<td><a>$i</a></td>\n";
}
else
{
echo "<td>$i</td>\n";
}
}
</code>
<code>
class db
{
private $array = array();
private $ar;
private $manad;
private $dag;
function db($ar, $manad, $dag)
{
$this->ar = $ar;
$this->manad = $manad;
$this->dag = $dag;
}
function creatArray()
{
$this->array[2007] = array();
$this->array[2007][11] = array();
$this->array[2007][11][5] = "något";
$this->array[2007][11][10] = "något";
$this->array[2007][11][20] = "något";
}
function getEvent()
{
return ($this->array[$this->ar][$this->manad][$this->dag]);
}
}
</code>
Jag vill alltså till classen db skicka in värden, som sedan ska kontrollera om det finns i arrayen.
Men som jag har gjort nu fungerar det inte. Får felmeddelandet:
Fatal error: Call to undefined method Kalender::setHandelse()
Tacksam för all hjälpSv: problem med att flytta array
Fatal error: Call to undefined method Kalender::setHandelse()</b>
Det meddelandet har inget med ditt önskemål att göra. Någonstans utanför den kod du visar anropar du setHandelse() som inte finns i Kalender. Kommentera bort anropet eller lägg in en (eventuellt tom) metod setHandelse() i klassen Kalender och pröva igen.Sv:problem med att flytta array
Nu funkar allt som det ska, tack Per