1

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

// 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'](是的,我在写这篇文章时正在看坏事)。我一直看到这个,我只是不确定正确的方法,学习正确的术语会很棒,这样我就可以用谷歌搜索这个信息,任何与此相关的 tuts 链接都很棒,还有你的洞察力会让我开心的!

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" } 

表格如下所示:

元表

4

3 回答 3

0

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

我建议你学习一些关于数组的知识。将数组视为变量列表。每个变量都可以通过一个键访问。

于 2013-07-22T19:36:27.903 回答
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

于 2013-07-22T19:36:28.850 回答
0

您可以使用爆炸

// 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];

 }          
}

请注意,仅当每条数据的字符串格式一致时才有效。你的最后一项是一个数组,所以你必须遍历它来检索它的值。

于 2013-07-22T19:38:14.563 回答