PHP: ilişkisel dizilerinde değişkenleri kullanarak?

4 Cevap php

ben PHP diziler hakkında önemli bir şey kaçırmış gibi görünüyor.

Bunun nesi var:

var $condition = array('Status.name = ' => 'PUBLISHED');
var $paginate = array('conditions' => $condition );

Bu sadece çalışıyor:

var $paginate = array('conditions' => array('Status.name = ' => 'PUBLISHED' ));

4 Cevap

Neden var anahtar kelime? Nveyamalde bu ihtiyacı olmaz - bu bir nesne üzerinde alanları olmadıkça?. Eğer öyleyse, bu $ kullanarak onları başvurmak gerekir. Aşağıdaki örneklerden biri sizin için çalışması gerekir:

$condition = array('Status.name = ' => 'PUBLISHED');
$paginate = array('conditions' => $condition );

veya

var $condition = array('Status.name = ' => 'PUBLISHED');
var $paginate = array('conditions' => $this->condition );

Without seeing mveyae of the code, it is hard fveya me to say with certainty which one applies to you and/veya if this will solve your problem. Hopefully it's pointed you in the right direction.

var bölümü bir sınıf tanımlarken bana göstermektedir. Bu durumda, başka birinin içeriği ile bir nesne değişkeni başlatılamıyor; Yalnızca (dizi içerir) sabitleri ile başlatabilirsiniz.

<?php
  class test {
    var $test1 = array('test_11' => 10);
    var $test2 = array('test21' => $test1); // Error
  }
?>

Eğer, başka birinin içeriği ile bir değişkenin içeriğini başlatmak gerekiyorsa o kurucu kullanın.

<?php
  class test {
    function test() {
      $this->test1 = array('test_11' => 10);
      $this->test2 = array('test21' => $this->test1);
    }
  }
?>

The var keyword is for declaring the class member variable and not for non-class variables.
The var keyword is supported in PHP5, albeit deprecated.

Beklenen ve biz paginate dizi dökümü zaman biz aşağıdaki Fakat gördüğünüz gibi var anahtar kelime için, her şey çalışıyor:

array(1) {
  ["conditions"]=>
  array(1) {
    ["Status.name = "]=>
    string(9) "PUBLISHED"
  }
}

Benim için, her ikisi de işe yaramaz. I değişkenleri var anahtar sözcüğünü kaldırmak Ancak, her ikisi de çok iyi çalışır. Var anahtar PHP4 kullanılmıştır.