0

I have an array that looks like this:

$data = array (
  "card" => array(
               "id" => $_GET["id"],
               "user" => dynamicFunction($_GET["id"]),
               "Origin" => $data["card"]["user"]
));

I'm getting an error here.

How can I read the value from current array element user without calling dynamicFunction again since that function will execute DB query again. I don't want to overload my SQL server with unnecessary queries.

Thanks in advance!

Dev Aggarwal
  • 763
  • 1
  • 6
  • 19

1 Answers1

2

Option 1:

$user = dynamicFunction($_GET["id"]);
$data = array (
    "card" => array(
        "id" => $_GET["id"],
        "user" => $user,
        "Origin" => $user,
));

Option 2:

$data = array (
    "card" => array(
        "id" => $_GET["id"],
        "user" => dynamicFunction($_GET["id"]),
));
$data["card"]['Origin'] = $data["card"]['user'];

Option 3:

$data = array (
    "card" => array(
        "id" => $_GET["id"],
        "user" => $user = dynamicFunction($_GET["id"]),
        "Origin" => $user,
));

And no, you cannot access item af array which is not yet initialized.

u_mulder
  • 54,101
  • 5
  • 48
  • 64