1

文字を含む mysql データベースに 1 つの文字列があり、次にそれを実行したいと考えています。

$string = "actor1 as aaa, actor2 as bbb, actor3 as ccc";

for (do a loop for 0 to length of the $string) {
   echo actor1
   echo aaa
}

したがって、ループが実行され、毎回印刷されます。

actor1
aaa

actor2
bbb

actor3
ccc

PHPでそれを行う方法は?

4

3 に答える 3

6

試してみてください:

$string = "actor1 as aaa, actor2 as bbb, actor3 as ccc";
$groups = explode(',', $string);

foreach ( $groups as $group ) {
  $items = explode(' as ', trim($group));
  foreach ( $items as $item ) {
    echo $item . '<br/>';
  }
  echo '<br/>';
}

または 2 番目のループなしで改善:

foreach ( $groups as $group ) {
  list($actor, $role) = explode(' as ', trim($group))
  echo $actor . '<br/>';
  echo $role . '<br/>';
  echo '<br/>';
}
于 2013-01-11T13:57:32.387 に答える
4
foreach(explode(",", $string) as $value) {
    $parts = explode(" as ", $value);
    echo trim($parts[0])."<br/>".trim($parts[1])."<br/>";        
}
于 2013-01-11T13:58:04.317 に答える
0

注: クエリはあるものの、適切なクエリ文字列が入力されていないと想定したため、典型的な mySQL の例を追加しました。

$query = mysql_query("SELECT actor1 as aaa, actor2 as bbb, actor3 as ccc FROM some_table");
$result = mysql_fetch_object($query);
$numrows = mysql_num_rows($query);

for ($i = 1; $i <= $numrows; $i++) {
  echo "actor1 <br>";
  echo $result->aaa . "<br>";
  echo "actor3 <br>";
  echo $result->bbb . "<br>";
  echo "actor3 <br>";
  echo $result->ccc . "<br>";
}
于 2013-01-11T14:02:28.867 に答える