组织一个阵列?

时间:2013-07-22 19:32:16

标签: php database

我从这样的数据库中获取数据

// Get WPDB Object
global $wpdb;

// Table name
$table_name = $wpdb->prefix . "postmeta";

$layers = $wpdb->get_results( "SELECT meta_value FROM $table_name WHERE meta_key =    '_moon_sortable_content'" );

然后我回应所有的值

// Iterate over them
foreach($layers as $key => $value) {
          foreach($value as $breakingbad) {
             echo $breakingbad;
          }          
}

返回Beach Day? || 309px || 838px || Array四个值..我有点困惑的是如何将每个值转换为变量,例如。

$top = 309px
$left = 838px
$content = Beach Day?

我会怀疑这样的事情$breakingbad['top'], $breakingbad['left'], $breakingbad['content'](是的,我在看这个大声笑时看着坏了)。我一直都看到这一点,我只是不确定这样做的正确方法,学习正确的术语会很棒,所以我可以谷歌这个信息,任何与此相关的链接都很棒,也是你的洞察力会让我的一天!

var_dump的结果:

object(stdClass)#282 (1) { ["meta_value"]=> string(21) "I am changing text..." }
object(stdClass)#283 (1) { ["meta_value"]=> string(20) "288.00001525878906px" }
object(stdClass)#284 (1) { ["meta_value"]=> string(5) "808px" } 
object(stdClass)#285 (1) { ["meta_value"]=> string(5) "Array" } 

以下是表格的内容:

metatable

3 个答案:

答案 0 :(得分:0)

$value是包含这4个值的数组。这意味着你必须为$value['top']做顶部。

我建议你学习一下阵列。 将数组视为变量列表。每个变量都可以通过密钥访问。

答案 1 :(得分:0)

使用explode()

$string = "Beach Day? || 309px || 838px || Array";
$string = explode(" || ", $string);

$top = $string[1]; // 309px 
$left = $string[2]; // 838px
$content =  $string[0]; //Beach Day?

键盘:http://codepad.org/WVGR5Nd7

答案 2 :(得分:0)

您可以使用explode

// Iterate over them
foreach($layers as $key => $value) {
   foreach($value as $breakingbad) {
  // split string with || as delimiter             
  $split = explode('||', $breakingbad);
  $content = $split[0];
  $top = $split[1];
  $left = $split[2];
  $array = $split[3];

 }          
}

请注意,仅当每个数据的字符串格式一致时,此方法才有效。您的最后一项是一个数组,因此您必须遍历它以检索其值。