- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经搜索这个论坛两天了,但我似乎无法掌握“foreach”的概念。
我发现了这个:
这正是我所需要的,但是!如何获得输出“echo "$key =\"$value\"
";"在可重用变量中???
<?php
/* Create Array named $profile with contents of jos_users */
$user =& JFactory::getUser();
foreach ($user as $key => $value)
{
$profile[$key] = $value;
}
/* Extract jos_user_profiles data and add to $profile */
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('profile_key, profile_value');
$query->from('#__user_profiles');
$query->where('user_id = '. (int) $user->id);
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach ($rows as $row)
{
$profile[$row->profile_key] = $row->profile_value;
}
/* Included for debugging purposes only 8*/
foreach ($profile as $key => $value)
{
echo "$key = \"$value\"<br/>";
}
?>
生成的输出如下:
id = "636"
name = "test2"
username = "test2"
email = "test2@test.nl"
password = "$P$DcH9yo/xVoU7vTXgvmwCrCn5dDwfnE0"
password_clear = ""
block = "0"
sendEmail = "0"
registerDate = "2014-04-11 18:49:24"
lastvisitDate = "2014-04-12 07:51:45"
activation = ""
params = "{}"
groups = "Array"
guest = "0"
lastResetTime = "0000-00-00 00:00:00"
resetCount = "0"
_errors = "Array"
aid = "0"
otpKey = ""
otep = ""
testprofile.phonenumber = "523657543763"
我想要的是输出到变量中,例如“id =“636””变成$id =“636”,或$variablename =“636”
有没有办法可以从上面的代码生成/声明自动变量? (并列出它们,以便我可以看到声明了哪些变量)。
我想做的是:
从 $user 获取数据并重用该数据,通过以下代码将更改的 mysql 数据插入/更新到 MsSQL 数据库中:
include ('includes/connectwk.php');
$sql = "select DEEL_ID, DEEL_TEAM, DEEL_NAAM, DEEL_TELEFOON, DEEL_MAIL from WK_DEELNEMERS where DEEL_ID = '$usr_id'";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false)
{
die( print_r( sqlsrv_errors(), true) );
echo 'connection failed!';
}
//script part
if ($usr_id === 0 or $usr_login === null)
{}
else
{
if (sqlsrv_has_rows($stmt))
{
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
{
$c_id = $row['DEEL_ID'];
$c_team = $row['DEEL_TEAM'];
$c_naam = $row['DEEL_NAAM'];
$c_tel = $row['DEEL_TELEFOON'];
$c_mail = $row['DEEL_MAIL'];
if ($usr_id === $c_id and $usr_login === $c_team and $usr_mail === $c_mail and $row['DEEL_NAAM'] === $usr_name)
{
$update = false;
}
else
{
$update = true;
}
}
}
else
{
$sql = "insert into WK_DEELNEMERS (DEEL_ID, DEEL_TEAM, DEEL_NAAM, DEEL_TELEFOON, DEEL_MAIL) values ('$usr_id','$usr_login','$usr_name','','$usr_mail')";
$stmt = sqlsrv_query( $conn, $sql );
echo 'insert uitgevoerd';
}
if ($update === true)
{
$sql ="update WK_DEELNEMERS set DEEL_TEAM = '$usr_login',DEEL_NAAM = '$usr_name',DEEL_TELEFOON ='bla3',DEEL_MAIL= '$usr_mail' where DEEL_ID = '$usr_id '";
$stmt = sqlsrv_query( $conn, $sql );
}
}
?>
可能这不是正确的方法,但在我学习的过程中,请随时“插入”我朝正确的方向前进。 :)
简而言之,我想要完成的是,从 mssql prefix_user 表和 prefix_user_profiles 表中获取数据。
将这些结果与我从 MsSQL 表中获得的结果进行比较,如果用户通过网站更新/更改了其个人资料,则插入/更新 MsSQL 表。
希望有人能帮助我。
提前致谢:)
好的,当我这样做时:
<?php
$profile["id"] = "636";
$profile["name"] = "test2";
$profile["username"] = "test2";
$profile["email"] = "test2@test.nl";
$profile["password"] = "$P$DcH9yo/xVoU7vTXgvmwCrCn5dDwfnE0";
$profile["password_clear"] = "";
$profile["block"] = "0";
foreach ($profile as $key => $value)
{
$$key = $value;
}
echo $id;
?>
我得到:636(我想要的)
但是当我这样做时:
<?php
/* Create Array named $profile with contents of jos_users */
$user =& JFactory::getUser();
foreach ($user as $key => $value)
{
$$key = $value;
}
?>
我得到一个空白页。我所说的空白页面是指,我从 Joomla 文章中运行此 php,整个模板在浏览器中显示为空白。不是因为我没有在第二个脚本中使用 echo。
我不明白:/
@Hüseyin BABAL 这里是 var_dump($user);
object(JUser)#35 (26) { ["isRoot":protected]=> bool(false) ["id"]=> string(3) "636" ["name"]=> string(5) "test2" ["username"]=> string(5) "test2" ["email"]=> string(13) "test2@test.nl" ["password"]=> string(34) "$P$DcH9yo/xVoU7vTXgvmwCrCn5dDwfnE0" ["password_clear"]=> string(0) "" ["block"]=> string(1) "0" ["sendEmail"]=> string(1) "0" ["registerDate"]=> string(19) "2014-04-11 18:49:24" ["lastvisitDate"]=> string(19) "2014-04-12 13:38:55" ["activation"]=> string(0) "" ["params"]=> string(2) "{}" ["groups"]=> array(1) { [2]=> string(1) "2" } ["guest"]=> int(0) ["lastResetTime"]=> string(19) "0000-00-00 00:00:00" ["resetCount"]=> string(1) "0" ["_params":protected]=> object(JRegistry)#36 (1) { ["data":protected]=> object(stdClass)#37 (0) { } } ["_authGroups":protected]=> array(2) { [0]=> int(1) [1]=> int(2) } ["_authLevels":protected]=> array(3) { [0]=> int(1) [1]=> int(1) [2]=> int(2) } ["_authActions":protected]=> NULL ["_errorMsg":protected]=> NULL ["_errors":protected]=> array(0) { } ["aid"]=> int(0) ["otpKey"]=> string(0) "" ["otep"]=> string(0) "" }
@Hüseyin BABAL 这里是 var_export($user);谢谢:)
JUser::__set_state(array( 'isRoot' => false, 'id' => '636', 'name' => 'test2', 'username' => 'test2', 'email' => 'test2@test.nl', 'password' => '$P$DcH9yo/xVoU7vTXgvmwCrCn5dDwfnE0', 'password_clear' => '', 'block' => '0', 'sendEmail' => '0', 'registerDate' => '2014-04-11 18:49:24', 'lastvisitDate' => '2014-04-12 17:27:36', 'activation' => '', 'params' => '{}', 'groups' => array ( 2 => '2', ), 'guest' => 0, 'lastResetTime' => '0000-00-00 00:00:00', 'resetCount' => '0', '_params' => JRegistry::__set_state(array( 'data' => stdClass::__set_state(array( )), )), '_authGroups' => array ( 0 => 1, 1 => 2, ), '_authLevels' => array ( 0 => 1, 1 => 1, 2 => 2, ), '_authActions' => NULL, '_errorMsg' => NULL, '_errors' => array ( ), 'aid' => 0, 'otpKey' => '', 'otep' => '', ))
@ Hüseyin BABAL,这是 var_dump(get_object_vars($user)); 的输出
array(20) { ["id"]=> string(3) "636" ["name"]=> string(5) "test2" ["username"]=> string(5) "test2" ["email"]=> string(13) "test2@test.nlDit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken. " ["password"]=> string(34) "$P$DcH9yo/xVoU7vTXgvmwCrCn5dDwfnE0" ["password_clear"]=> string(0) "" ["block"]=> string(1) "0" ["sendEmail"]=> string(1) "0" ["registerDate"]=> string(19) "2014-04-11 18:49:24" ["lastvisitDate"]=> string(19) "2014-04-12 17:50:44" ["activation"]=> string(0) "" ["params"]=> string(2) "{}" ["groups"]=> array(1) { [2]=> string(1) "2" } ["guest"]=> int(0) ["lastResetTime"]=> string(19) "0000-00-00 00:00:00" ["resetCount"]=> string(1) "0" ["_errors"]=> array(0) { } ["aid"]=> int(0) ["otpKey"]=> string(0) "" ["otep"]=> string(0) "" }
我必须提到的是这个脚本:
<?php
$user =& JFactory::getUser();
$userArr = (array) $user;
foreach($userArr as $key => $value)
{
$$key = "$value";
}
echo $id;
?>
它抛出:500内部服务器错误?
我刚刚安装 Joomla 的 full_ajax 插件后收到此弹出消息。
好的,现在我尝试了这个(希望我做得正确)
<?php
$user =& JFactory::getUser();
$userArr = get_object_vars($user);
foreach($userArr as $key => $value)
{
$$key = $value;
}
echo $id;
?>
仍然是 500 内部服务器错误。我是否去掉 echo 并不重要。
最佳答案
PHP 拥有一个有用的 array function叫extract()
做你想做的事。它将数组的元素拉入当前符号表(本身就是一个数组)。
...
foreach ($resultset as $row) {
extract( $row, EXTR_OVERWRITE, 'row_');
/*now your row elements are in the symbol table with names starting with row_ */
echo "id = $row_id";
echo "name = $row_name";
}
关于php - 如何将 foreach 放入单独的变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23030002/
这是一个假设性问题。如果我有来自 3 个单独的 sql db 查询的 3 个数组,这些查询都与另一个数组相关。例如…… //db schools id | school_name classes id
在我的应用程序中,我使用 scrape(string url) 方法从网页中抓取链接。可以说它每次都返回我 10 个 url。 我想从每个抓取的 url 中抓取 10 个链接。 长话短说: (第 1
我的java7代码: final Map result = new HashMap<>(); final Set> classes = getClasses(co.glue()); for (fina
是否可以在 SwiftUI 中设置变量,例如在这样的 ForEach 中: struct ContentView: View { var test: Int var body: som
在 D、int、uint 中使用 foreach 时,循环索引的首选类型是什么?或者只是通过省略类型自动实现? 最佳答案 一般来说,索引应该是size_t。与长度相同。如果您尝试使用 int 或 ui
根据 http://dlang.org/statement.html 的“Foreach 限制”部分以下代码 int[] a; int[] b; foreach (int i; a) { a
在什么情况下我们应该在 JDK 8 中使用旧的 foreach 循环遍历新的 collection.forEach() 还是最好的做法是转换 every foreach 循环?是否存在任何重要的性能差
获得类似东西的惯用方法是什么? ((fn [coll] (function-body)) [:a :b :c :d]) -> [[:a :b][:a :c][:a :d][:b :c][:b :d][
我正在创建一个基于 who is it? 的 Java 应用程序。现在我正在制作一种方法,在回答问题时我需要其他卡片。 我有两个列表: 列表是一个 ImageView 列表,其中我有卡片必须代表的 2
我希望有人能在我发疯之前帮助我。 我有 3 张 table : Table A SELECT companypk, companyname, logo, msscope FROM global_com
我正在尝试将多个字符串添加到 C# 中的 MailAddress。 如果我使用ForEach,我的代码会是这样 foreach (var item in GetPeopleList()
我没有太多的 C# 经验,所以如果有人能指出正确的方向,我将不胜感激。我有一个引用对象变量的 foreach 循环。我希望在主循环中创建另一个 foreach 循环,将当前变量与对象数组中的其余变量进
下面的代码每 60 秒删除文件夹“Images”中的文件,它可以工作,但是当文件夹为空时它会显示:警告:为 foreach() 提供的参数无效如果没有文件,如何解决这个问题,说“文件夹为空而不是那个警
我需要在两种不同的模式下运行,因此“if”(第二个稍后构建一个大的 csv) 下面对于单个实例运行正常,但在第二个 (*) 的加载时间上失败,因为在前 7k 行中的每一行上运行。 我想避免可怕的事情
我们可以使用以下两种方法实现类数组对象的迭代: let arrayLike = document.getElementsByClassName('dummy'); [].forEach.call(ar
我有这个代码 ... 它说: Attribute value invalid for tag forEach according to TLD 最佳答案 forEach标签不支持 valu
我在 SwiftUI 中有一个像这样的 ForEach: ForEach(entries) { (e: MyType) in NavigationLinkItem(entry: e) } 现在我
我无法在一个 Foreach 或 Foreach-Object 循环中使用多个命令 我的情况是—— 我有很多文本文件,大约 100 个。 所以他们被阅读 Get-ChildItem $FilePath
我必须从 json 文件(实际上是 2 个 json 文件)执行 ForEach,因此我执行 2 forEach,代码是 table { font-family: arial, sans-
我对编程很陌生,当我执行 forEach 函数时,我的应用程序返回错误。我的controller.js中有以下代码 $scope.ajaxRequest = A.Game.get({action: '
我是一名优秀的程序员,十分优秀!