假设我有一个数组,如下所示:
$foo = array('first' => '1st',
'second' => '2nd',
'third' => '3rd');
Run Code Online (Sandbox Code Playgroud)
如何从数组中选择键并使它们成为自己的变量?例如,数组$foo将变为:
$first = '1st';
$second = '2nd';
$third = '3rd';
Run Code Online (Sandbox Code Playgroud)
我问这个因为我正在创建一个MVC框架来帮助我的OOP,我希望用户将一个变量传递给View加载函数,这将允许用户在模板中使用变量而不必知道数组是什么被称为.
例如:
$array = array('title' => 'My blog!' [...]);
$this->load->view('view.php', $array);
Run Code Online (Sandbox Code Playgroud)
view.php:
echo $title;
Run Code Online (Sandbox Code Playgroud)
输出:
我的博客!
我正在编写一个游戏,它会在一些xml文档和资源文件中包含大量信息(配置,一些内容等).这将使我和其他人更容易编辑程序,而无需编辑实际的C++文件,也无需重新编译.
但是,随着程序开始增长,与程序在同一目录中的文件会增加.所以我想把它们放在一个文件存档中(因为它们主要是文本,因此压缩效果很好).
我的问题是:压缩所有文件会更容易吗:
我认为数字1和2是相似的,但我找不到有关zlib是否可以处理受密码保护的档案的任何信息.
另请注意,我不希望在程序使用时将存档中的文件"提取"到文件夹中.它应该只在系统的内存中.
我的团队实际上只由我自己和一两个人组成.我主要从事爱好项目和我的网站,每周写大约1000行代码.
我想开始进入版本控制系统,但由于我的大多数项目都由我自己处理,所以我没有看到太多意义.我最近注册了一个GITHub帐户,我不得不说我喜欢它,我认为它比SVN更容易使用(除了下载存储库之外,我没有任何SVN经验).
我唯一的要求是我必须能够拥有我的存储库的Web前端(就像GITHub上的那个).没什么好看的,但我必须能够看到项目中的文件以及对特定文件所做的更改.
除非原因很突出,否则除了网络前端之外,我没有GIT或SVN的偏好.根据我提供的信息,哪一个对我更好?
我刚刚开始准备语句的工作,我的第几个例子摸索出伟大的,但现在我运行到一个SQL语法,我不明白.我有一个执行INSERT的函数,带有一个关联数组的参数,其中数组的键是字段,数组的值是要插入的值.例如:
$arr = array("field1" => "value1",
"field2" => "value2");
$this->insert("table", $arr);
Run Code Online (Sandbox Code Playgroud)
会执行:
INSERT INTO table ('field1', 'field2') VALUES ('value1', 'value2')
Run Code Online (Sandbox Code Playgroud)
但是,在尝试执行此操作时,我收到以下错误:
PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在''post_title','post_body'附近使用正确的语法.)VALUES('Testing!','1 2 3!')'在第1行
这是我的功能:
/**
* insert()
*
* Performs an insert query
*
* @param string $table The table to be inserted into
* @param array $fields An associative array of the fields to be inserted
* and their respective values
* @return void
*
*/
function insert($table, $fields) {
if (empty($table) || empty($fields)) { …Run Code Online (Sandbox Code Playgroud) php ×2
arrays ×1
c++ ×1
compression ×1
encryption ×1
frontend ×1
git ×1
pdo ×1
svn ×1
variables ×1