目标是反序列化一个PHP序列化的string,并得到C#中的可变对象 有没有什么办法可以在C#(.Net)中做到这一点? 更具体地说:我们需要制作一个应用程序,通过HTTP(通过HTTP)将特定网站返回所需的信息。 幸运的是/不幸的是,我们没有网站的权限,所以从网站返回的数据(大部分是PHP)被序列化 。
我正在尝试从Web服务器读取.json文件。 我从服务器收到的JSON报告在http://jsonlint.com/无效: { preOpen: "900", preClose: "908", mktOpen: "915", mktClose: "1530", corrOpen: "1540", corrClose: "1600", mktStatusCode: "3", status: "MARKET OPEN", time: "Jan 11, 2012 12:32:14", data: [ { name: "S&P CNX NIFTY Pre Open", lastPrice: "4,863.15", change: "13.60", pChange: "0.28", imgFileName: "S&P_CNX_NIFTY_Pre_Open_open.png" }, { name: "S&P CNX NIFTY", lastPrice: "4,871.15", change: "21.60", pChange: "0.45", imgFileName: […]
我有一个utf-8 php文件中的以下php代码: var_dump(setlocale(LC_CTYPE, 'de_DE.utf8', 'German_Germany.utf-8', 'de_DE', 'german')); var_dump(mb_internal_encoding()); var_dump(mb_internal_encoding('utf-8')); var_dump(mb_internal_encoding()); var_dump(mb_regex_encoding()); var_dump(mb_regex_encoding('utf-8')); var_dump(mb_regex_encoding()); var_dump(preg_replace('/\bweiß\b/iu', 'weiss', 'weißbier')); 我想最后一个正则expression式只replace完整的单词而不是单词的一部分。 在我的Windows电脑上,它返回: string 'German_Germany.1252' (length=19) string 'ISO-8859-1' (length=10) boolean true string 'UTF-8' (length=5) string 'EUC-JP' (length=6) boolean true string 'UTF-8' (length=5) string 'weißbier' (length=9) 在networking服务器(linux)上,我得到: string(10) "de_DE.utf8" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" string(9) "weissbier" […]
我正在处理一个dynamic查询,它使用variables来指定表,字段/列和要search的值。 我已经得到的查询没有variables的预期工作,无论是在phpMyAdmin(手动键入查询),并从代码内通过将variables连接成一个完整的查询。 但是,当我使用bindParam()或bindValue()绑定variables时,它将返回一个空数组。 这是我的代码: function search_db($db, $searchTerm, $searchBy, $searchTable){ try{ $stmt = $db->prepare(' SELECT * FROM ? WHERE ? LIKE ? '); $stmt->bindParam(1, $searchTable); $stmt->bindParam(2, $searchBy); $stmt->bindValue(3, '%'. $searchTerm.'%'); $stmt->execute(); } catch(Exception $e) { return array(); } return $stmt->fetchAll(PDO::FETCH_ASSOC); } // database initialization, creates the $db variable require(ROOT_PATH . "include/database.php"); $matches = search_db($db, 'search term', […]
当你在php中声明属性的时候,为什么不可能初始化一个属性? 以下snippit导致一个分析错误:语法错误,意外的T_FUNCTION <?php class AssignAnonFunction { private $someFunc = function() { echo "Will Not work"; }; } ?> 然而,你可以初始化一个属性为string,数字或其他数据types? 编辑: 但是我可以将函数分配给__construct()方法中的属性。 以下工作: <?php class AssignAnonFunctionInConstructor { private $someFunc; public function __construct() { $this->someFunc = function() { echo "Does Work"; }; } } ?>
我无法从MySQL SELECT方法移动到PDO方法。 我想遍历一个获取的数组两次,两次从第零行开始。 在MySQL中,我会使用: mysql_data_seek($result,0); 使用PDO方法,我不知道如何完成同样的事情。 下面的代码是我如何试图做到这一点。 第一个while循环工作正常,但第二个while循环不返回任何内容。 有人可以告诉我哪里出错了吗? $pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC'); $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt->execute(); while($row = $stmt->fetch()) { //do something starting with row[0] } while($row = $stmt->fetch()) { //do something else starting […]
我见过很多处理表单input的PHP代码,其中input字段名称包含方括号。 我知道这在PHP脚本检查$ _POSTvariables时以某种方式导致PHP数组。 HTML示例: <form action='http://zzz.com' method='post'> <input name='fruit[1]' value='apple' /> <input name='fruit[2]' value='banana' /> </form> 示例url: http://zzz.com?fruit[1]=apple&fruit[2]=banana 示例PHP: assert($_POST['fruit'] === array(1=>'apple', 2=>'banana')); 我的问题是: 它背后的机制是什么? 这些包含括号的名字在什么时候被转换成数组? 这是HTTP协议的function吗? Web服务器? PHP语言的? 继续前面的问题,这是一个常用的黑客或正常的编程工具? 什么是(所有)在input字段名称中使用括号的规则? multidimensional array可以这样创build吗?
我有一个数组: Array ( [0] => stdClass Object ( [user_id] => 1 [ID] => 1 [user_login] => admin [display_name] => admin [user_email] => webbinformation@nacka.se [meta_value] => a:1:{s:13:\"administrator\";s:1:\"1\";} ) [1] => stdClass Object ( [user_id] => 4 [ID] => 4 [user_login] => ungtinflytande [display_name] => ungtinflytande [user_email] => klarakviberg@gmail.com [meta_value] => a:1:{s:13:\"administrator\";s:1:\"1\";} ) [2] => stdClass Object […]
我自己和我的团队都被困在这一个,我有以下的代码。 $text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut bibendum augue eu arcu mollis cursus. Curabitur nec purus ipsum. Fusce ut erat leo, vitae malesuada lacus. Quisque varius gravida justo ut aliquam. Integer accumsan, ante non volutpat semper, orci sem luctus odio, sit amet convallis odio justo id nisl. Nunc sed lacus […]
<?php echo $_POST['ss'];?> <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <input name="ss" type="text" /> <input type="submit" name="submit"> </form> 点击提交时,这个代码应该打印文本框中input的任何名称=“ss”。 但它不打印。 使用方法=“获得”,但没有后,这是什么问题。