我外面有一个阵列:
$myArr = array();
Run Code Online (Sandbox Code Playgroud)
我想让我的函数访问它外面的数组,以便它可以为它添加值
function someFuntion(){
$myVal = //some processing here to determine value of $myVal
$myArr[] = $myVal;
}
Run Code Online (Sandbox Code Playgroud)
如何为函数提供正确的范围?
我正在制作一个javascript应用程序,它.json使用jquery 检索文件并将数据注入其嵌入的网页中.
这些.json文件采用UTF-8编码,并包含重音字符,如é,ö和å.
问题是我不控制将要使用该应用程序的页面上的charset.
有些人将使用UTF-8,但其他人将使用iso-8859-1 charset.这当然会从.json文件中剔除特殊字符.
如何使用javascript将特殊的UTF-8字符转换为iso-8859-1等效字符?
我已经在两个平台上编写了相同的方法,我认为这些方法应该会产生相同的结果,但它并没有发生.我用相同的密钥加密了相同的文本,结果不同.有人能弄明白为什么会这样吗?
字符串:这是测试
密钥:1234567812345678
PHP加密字符串:ybUaKwQlRNwOjJhxLWtLYQ ==
C#加密字符串:r2YjEFPyDDacnPmDFcGTLA ==
C#功能
static string Encrypt(string plainText, string key)
{
string cipherText;
var rijndael = new RijndaelManaged()
{
Key = Encoding.UTF8.GetBytes(key),
Mode = CipherMode.ECB,
BlockSize = 128,
};
ICryptoTransform encryptor = rijndael.CreateEncryptor(rijndael.Key, rijndael.IV);
using (var memoryStream = new MemoryStream())
{
using (var cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write))
{
using (var streamWriter = new StreamWriter(cryptoStream))
{
streamWriter.Write(plainText);
streamWriter.Flush();
}
cipherText = Convert.ToBase64String(memoryStream.ToArray());
//cryptoStream.FlushFinalBlock();
}
}
return cipherText;
}
private static string …Run Code Online (Sandbox Code Playgroud)